K - Leapfrog
Editorial
Time Limit: 2 sec / Memory Limit: 256 MB
Problem Statement
個のマスが円状に並んでいる。マスは時計回りに と番号が振られている。各 () について、 番目のマスと 番目のマスは隣り合う。また、 番目のマスと 番目のマスは隣り合う。
これらのうち 個のマスには、互いに区別できない駒が 個ずつ置かれている。はじめ、 番目のマスに駒が置かれている。次の操作を何回か行い、 番目のマスに駒が置かれているようにしたい。
- 時計回りまたは反時計回りに連続する 個のマスを選び、順に とおく。 と にそれぞれ駒があり に駒がないならば、 の駒を へ移動する。

番目のマスに駒が置かれているようにできるか判定せよ。できるならば、必要な操作の回数の最小値を求めよ。
Constraints
Input Format
入力は以下の形式で標準入力から与えられる。
Output Format
番目のマスに駒が置かれているようにできるならば、必要な操作の回数の最小値を一行に出力せよ。できないならば、代わりに -1
を一行に出力せよ。
Sample Input 1Copy
Copy
7 2 1 2 5 6
Sample Output 1Copy
Copy
3
次のように 回の操作を行えばよい。
- 番目のマスの駒を 番目のマスへ移動する。
- 番目のマスの駒を 番目のマスへ移動する。
- 番目のマスの駒を 番目のマスへ移動する。
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