CodeForces - 864A Fair Game
题意:如果一个序列中只有两种数,且这两种数的数量相同,则输出YES,并输出这两种数,否则输出NO。
#include<bits/stdc++.h>
#define Min(a, b) ((a < b) ? a : b)
#define Max(a, b) ((a < b) ? b : a)
typedef long long LL;
typedef unsigned long long ULL;
const int INT_INF = 0x3f3f3f3f;
const int INT_M_INF = 0x7f7f7f7f;
const int dr[] = {0, 0, -1, 1, -1, -1, 1, 1};
const int dc[] = {-1, 1, 0, 0, -1, 1, -1, 1};
const int MOD = 1e9 + 7;
const double pi = acos(-1.0);
const double eps = 1e-8;
const int MAXN = 100 + 10;
const int MAXT = 500 + 10;
using namespace std;
int a[MAXN];
int b[MAXN];
int main(){
int n, x;
scanf("%d", &n);
int cnt = 0;
for(int i = 0; i < n; ++i){
scanf("%d", &x);
if(!a[x]){
b[++cnt] = x;
}
++a[x];
}
if(cnt == 2 && a[b[1]] == a[b[2]]){
printf("YES\n%d %d\n", b[1], b[2]);
}
else{
printf("NO\n");
}
return 0;
}

浙公网安备 33010602011771号