码迷,mamicode.com
首页 > 其他好文 > 详细

江西理工大学南昌校区排名赛 B: 单身狗的数字游戏

时间:2018-08-17 18:20:14      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:int   大学   ret   ++   its   include   for   今天   输出   

题目描述

萌樱花是一只单身狗。

萌樱花今天初始化了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: 单身狗的数字游戏

标签:int   大学   ret   ++   its   include   for   今天   输出   

原文地址:https://www.cnblogs.com/yinghualuowu/p/9494678.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!