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
提示
制約
- 入力中のすべての値は整数である
Sample Explanation 1
例えば高橋君は以下のように操作を行うことができます。 - 番目の数を に置き換える。 - 番目の数を に置き換える。 - 番目の数を に置き換える。 - 番目の数を に置き換える。