江西理工大学南昌校区排名赛 B: 单身狗的数字游戏
Posted yinghualuowu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了江西理工大学南昌校区排名赛 B: 单身狗的数字游戏相关的知识,希望对你有一定的参考价值。
题目描述
萌樱花是一只单身狗。
萌樱花今天初始化了N个数字,使它们都为0 0 0 0...
萌樱花决定选取某一个位置,分别增加1到N(如果到达数组末尾就从头开始)。
比如:
0 0 0(选择第二个位置开始)
3 1 2(选择第三个位置开始)
5 4 3(选择第 X 个位置开始)
.......
萌樱花因为单身,所以老是忘记自己做过什么。他现在忘记了这些数字是不是经过上面操作得到的。
如果可以通过这种操作得到,输出 YES,否则输出 NO
输入
N<=105
Ai<=109
输入格式:
N
A1 A2 A3 .....AN
输出
符合操作输出YES,否则输出NO
样例输入
3
5 4 3
样例输出
YES
提示
见题目描述
#include<bits/stdc++.h> using namespace std; #define ll long long ll a[200000]; ll d[200000]; int main() { ll n; ll sum=0; cin>>n; for(int i=0;i<n;i++) { cin>>a[i]; sum+=a[i]; } for(int i=0;i<n-1;i++) { d[i]=a[i+1]-a[i]; } d[n-1]=a[0]-a[n-1]; if(sum%(n*(n+1)/2)==0) { ll k=sum/(n*(n+1)/2); for(int i=0;i<n;i++) { if((k-(d[i]))%n||k-d[i]<0) { cout<<"NO"<<endl; return 0; } } cout<<"YES"<<endl; } else { cout<<"NO"<<endl; } }
以上是关于江西理工大学南昌校区排名赛 B: 单身狗的数字游戏的主要内容,如果未能解决你的问题,请参考以下文章