6026 - 子序列(3)

题目描述

给定两个整数序列 AB,长度分别为 nm

现在需要在序列 A 中选取一个连续子数组

A_l, A_{l+1}, \dots, A_r \quad (1 \le l \le r \le n)

要求该连续子数组满足:

  • 序列 B 是该子数组的一个子序列(即:将该子数组中删除若干元素,但不改变顺序,可以得到序列 B)。

请你在所有满足条件的连续子数组中,找出长度最短的一个,并输出其长度。

如果不存在这样的子数组,请输出 -1

输入

输入共三行:

第一行包含两个整数 n, m

第二行包含 n 个整数,表示序列 A

第三行包含 m 个整数,表示序列 B

输出

输出一个整数,表示满足条件的最短连续子数组长度;若不存在,则输出 -1

样例

输入

8 3
1 2 3 4 2 3 5 6
2 3 5

输出

3

输入

6 3
1 2 3 4 5 6
3 5 7

输出

-1

输入

10 3
1 2 3 4 5 3 4 3 5 2
3 4 2

输出

5
说明

数据范围

对于 100\% 的数据,满足 1 \le n, m \le 10001 \le A_i, B_i \le 10^9

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 15
通过人数 15
金币数量 2 枚
难度 基础


上一题 下一题