

実行時間制限: 2 sec / メモリ制限: 256 MB
配点 : 500 点
問題文
N 個の箱が円環状に並んでおり、i 番目の箱には A_i 個の石が入っています。
以下の操作を繰り返して、全ての石を取り除くことができるか判定してください。
- 箱を一か所選ぶ。それを i 番目としたとき、1 から N の各 j に対して、i+j 番目の箱から石をちょうど j 個取り除く。
ただし、N+k 番目と表される箱は k 番目の箱と同一視するものとする。
各操作において、取り除きたい個数の石がない箱があるときは、その操作を行えないことに注意してください。
制約
- 1 ≦ N ≦ 10^5
- 1 ≦ A_i ≦ 10^9
入力
入力は以下の形式で標準入力から与えられる。
N A_1 A_2 … A_N
出力
全ての石を取り除くことができるなら YES
を、そうでないなら NO
を出力せよ。
入力例 1
5 4 5 1 2 3
出力例 1
YES
最初に箱 2 を選ぶことで、一回の操作ですべての石を回収できます。
入力例 2
5 6 9 12 10 8
出力例 2
YES
入力例 3
4 1 2 3 1
出力例 3
NO
Score : 500 points
Problem Statement
There are N boxes arranged in a circle. The i-th box contains A_i stones.
Determine whether it is possible to remove all the stones from the boxes by repeatedly performing the following operation:
- Select one box. Let the box be the i-th box. Then, for each j from 1 through N, remove exactly j stones from the (i+j)-th box. Here, the (N+k)-th box is identified with the k-th box.
Note that the operation cannot be performed if there is a box that does not contain enough number of stones to be removed.
Constraints
- 1 ≦ N ≦ 10^5
- 1 ≦ A_i ≦ 10^9
Input
The input is given from Standard Input in the following format:
N A_1 A_2 … A_N
Output
If it is possible to remove all the stones from the boxes, print YES
. Otherwise, print NO
.
Sample Input 1
5 4 5 1 2 3
Sample Output 1
YES
All the stones can be removed in one operation by selecting the second box.
Sample Input 2
5 6 9 12 10 8
Sample Output 2
YES
Sample Input 3
4 1 2 3 1
Sample Output 3
NO