codeforces-371 B#

    xiaoxiao2022-06-28  28

    题意:

       给出n,接下来n个数字,问是否可以找到一个数字x,使得这些n个数 中某些数+x 某些数-x 可以使得n个数字相同

    思路:

    三个数字以上显然不同。

    两个数字必定可以,一个数字也可以。

    讨论三种数字的情况,如果 a1 - a 2 == 1a

    #include <iostream> #include <stdio.h> #include <algorithm> using namespace std; int a[100010]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+1+n); int tep1=a[1],tep2,tep3,tep4; int cot=1; for(int i=2;i<=n;i++) { if(a[i]!=a[i-1]) { cot++; if(cot==2) { tep2=a[i]; } if(cot==3) { tep3=a[i]; } } } if(cot>3) { cout<<"NO"<<endl; } else { if(cot==3) { if(tep3-tep2!=tep2-tep1) { cout<<"NO"<<endl; return 0; } } cout<<"YES"<<endl; } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1124247.html

    最新回复(0)