江西理工大学南昌校区排名赛 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;
    }
}
复制代码

 

posted @   樱花落舞  阅读(130)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2017-08-17 2017"百度之星"程序设计大赛 - 初赛(B)小小粉丝度度熊
2017-08-17 2017"百度之星"程序设计大赛 - 初赛(A)小C的倍数问题
2017-08-17 2017 Multi-University Training Contest - Team 7 Just do it
点击右上角即可分享
微信分享提示