C. Nezzar and Symmetric Array

原题链接

真恶心

code

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll N=114514;

ll a[200005],d[200005];

bool solve()
{
    ll n;
    cin>>n;

    for(ll i=1;i<=2*n;i++) cin>>d[i];
    sort(d+1,d+1+2*n);

    for(int i=2;i<=2*n;i+=2) if(d[i]%2||d[i]!=d[i-1]||d[i-2]==d[i-1]) return 0;//输入正确

    unique(d+1,d+1+2*n);

    if(d[n]%(2LL*n)) return 0;
    a[n]=d[n]/(2LL*n);
    if(a[n]<=0) return 0;
    ll sum=2LL*a[n];

    for(ll i=n-1;i>=1;i--)
    {
        if((d[i]-sum)%(2LL*i)) return 0;
        a[i]=(d[i]-sum)/(2LL*i);
        if(a[i]==a[i+1]||a[i]<=0) return 0;//构造正确
        sum+=2LL*a[i];
    }

    return 1;
}
int main()
{
    int t=1;
    cin>>t;
    while(t--)
        if(solve()) cout<<"yes\n";
        else cout<<"no\n";
    return 0;
}


posted @   纯粹的  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示