#icpc2015summerday2k. [icpc2015summer_day2_k]Leapfrog
[icpc2015summer_day2_k]Leapfrog
Problem Statement
個のマスが円状に並んでいる。マスは時計回りに と番号が振られている。各 () について、 番目のマスと 番目のマスは隣り合う。また、 番目のマスと 番目のマスは隣り合う。
これらのうち 個のマスには、互いに区別できない駒が 個ずつ置かれている。はじめ、 番目のマスに駒が置かれている。次の操作を何回か行い、 番目のマスに駒が置かれているようにしたい。
- 時計回りまたは反時計回りに連続する 個のマスを選び、順に とおく。 と にそれぞれ駒があり に駒がないならば、 の駒を へ移動する。
番目のマスに駒が置かれているようにできるか判定せよ。できるならば、必要な操作の回数の最小値を求めよ。
Constraints
Input Format
入力は以下の形式で標準入力から与えられる。
Output Format
番目のマスに駒が置かれているようにできるならば、必要な操作の回数の最小値を一行に出力せよ。できないならば、代わりに -1
を一行に出力せよ。
Sample Input 1
7 2
1 2
5 6
Sample Output 1
3
次のように 回の操作を行えばよい。
- 番目のマスの駒を 番目のマスへ移動する。
- 番目のマスの駒を 番目のマスへ移動する。
- 番目のマスの駒を 番目のマスへ移動する。
Sample Input 2
3 1
1
2
Sample Output 2
-1
Sample Input 3
2999 3
1 2 3
2 3 4
Sample Output 3
4491004