#ARC125A. Dial Up

Dial Up

Dial Up

时间限制:1s
空间限制:512MB

题目描述

有一个长度为 NN、元素均为 00 或 11 的环状序列 aa,初始为输入序列 SS;另有一个初始为空的序列 bb。你可以任意次进行下列操作:

  • 把 aa 循环右移一位;
  • 把 aa 循环左移一位;
  • 把当前的 a1a_1 追加到 bb 的末尾。

给定长度为 MM 的二进制序列 TT,求使 bb 恰好等于 TT 所需的最少操作数;若不可能则输出 −1-1。

输入格式

第一行输入两个整数 N,MN,M。

第二行输入 NN 个整数 S1,S2,…,SNS_1,S_2,\ldots,S_N。

第三行输入 MM 个整数 T1,T2,…,TMT_1,T_2,\ldots,T_M。

输出格式

输出最少操作数;若无法完成,输出 −1-1。

样例输入 1

3 4
0 0 1
0 1 1 0

样例输出 1

6

样例输入 2

1 1
0
1

样例输出 2

-1

数据范围

  • 1≤N,M≤2×1051\le N,M\le 2\times 10^5;
  • Si,Ti∈{0,1}S_i,T_i\in\{0,1\};
  • 输入中的所有数均为整数。
子任务编号 分值 特殊限制
1 15 所有 SiS_i 相同
2 20 N,M≤10N,M\le 10
3 35 N,M≤2000N,M\le 2000
4 30 无特殊限制