atcoder#AGC037C. [AGC037C] Numbers on a Circle
[AGC037C] Numbers on a Circle
配点 : 点
問題文
円環状に 個の正整数が並んでおり、それらには円環に沿った順に から の番号がついています。
今 番目の数は です。高橋君は 番目の正整数が となるようにしたいです。 そこで、高橋君は以下の操作を繰り返し行うことにしました。
- なる整数 を一つ選ぶ。
- 番目の数をそれぞれ としたとき、 番目の数を に置き換える。
ただし、 番目の数は 番目の数を指し、 番目の数は 番目の数を指すことに注意してください。
高橋君が条件をみたすように操作を行うことができるかどうか判定してください。 また可能である場合は、高橋君が行う必要のある操作回数として考えられる最小の値を求めてください。
制約
- 入力中のすべての値は整数である
入力
入力は以下の形式で標準入力から与えられる。
出力
高橋君が行う必要のある操作回数として考えられる最小の値を出力せよ。
ただし、高橋君が条件をみたすように操作を行うことができない場合は -1
を出力せよ。
3
1 1 1
13 5 7
4
例えば高橋君は以下のように操作を行うことができます。
- 番目の数を に置き換える。
- 番目の数を に置き換える。
- 番目の数を に置き換える。
- 番目の数を に置き換える。
4
1 2 3 4
2 3 4 5
-1
5
5 6 5 2 1
9817 1108 6890 4343 8704
25