K - Leapfrog Editorial

Time Limit: 2 sec / Memory Limit: 256 MB

Problem Statement

NN 個のマスが円状に並んでいる。マスは時計回りに 1, 2, ..., N1,\ 2,\ ...,\ N と番号が振られている。各 ii (1iN11\leq i\leq N-1) について、ii 番目のマスと i+1i+1 番目のマスは隣り合う。また、NN 番目のマスと 11 番目のマスは隣り合う。

これらのうち MM 個のマスには、互いに区別できない駒が 11 個ずつ置かれている。はじめ、x1, x2, ..., xMx_1,\ x_2,\ ...,\ x_M 番目のマスに駒が置かれている。次の操作を何回か行い、y1, y2, ..., yMy_1,\ y_2,\ ...,\ y_M 番目のマスに駒が置かれているようにしたい。

  • 時計回りまたは反時計回りに連続する 33 個のマスを選び、順に A, B, CA,\ B,\ C とおく。AABB にそれぞれ駒があり CC に駒がないならば、AA の駒を CC へ移動する。

y1, y2, ..., yMy_1,\ y_2,\ ...,\ y_M 番目のマスに駒が置かれているようにできるか判定せよ。できるならば、必要な操作の回数の最小値を求めよ。

Constraints

  • 3N3,0003\leq N\leq 3,000
  • 1MN1\leq M\leq N
  • 1x1<x2<...<xMN1\leq x_1<x_2<...<x_M\leq N
  • 1y1<y2<...<yMN1\leq y_1<y_2<...<y_M\leq N

Input Format

入力は以下の形式で標準入力から与えられる。

NN MM
x1x_1 x2x_2 ...... xMx_M
y1y_1 y2y_2 ...... yMy_M

Output Format

y1, y2, ..., yMy_1,\ y_2,\ ...,\ y_M 番目のマスに駒が置かれているようにできるならば、必要な操作の回数の最小値を一行に出力せよ。できないならば、代わりに -1 を一行に出力せよ。


Sample Input 1Copy

Copy
7 2
1 2
5 6

Sample Output 1Copy

Copy
3

次のように 33 回の操作を行えばよい。

  • 22 番目のマスの駒を 77 番目のマスへ移動する。
  • 11 番目のマスの駒を 66 番目のマスへ移動する。
  • 77 番目のマスの駒を 55 番目のマスへ移動する。

Sample Input 2Copy

Copy
3 1
1
2

Sample Output 2Copy

Copy
-1

Sample Input 3Copy

Copy
2999 3
1 2 3
2 3 4

Sample Output 3Copy

Copy
4491004


2025-04-14 (Mon)
19:20:11 +00:00