https://codeforces.com/contest/1472/problem/B
解题方法:
假设1g的糖有sum1个,2g的糖有sum2个。
sum1是奇数:怎么都不会平分的,输出NO。
sum1是偶数:
1、如果sum2是奇数,两两相等还差1个2g的糖。如果sum1不为0,则可以用2个1g的糖去对1个2g的糖,输出YES;如果没有1g的糖,剩下1个2g的糖没有糖去让二者平分,输出NO。
2、如果sum2是偶数,则可以直接平分,输出YES。
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int n;
cin>>n;
int x,sum1=0,sum2=0;
for(int i=0;i<n;i++){
cin>>x;
if(x==1) sum1++;
else sum2++;
}
if(sum1%2==0){
if(sum2%2!=0&&sum1==0){
cout<<"NO"<<endl;
}else cout<<"YES"<<endl;
}else cout<<"NO"<<endl;
}
return 0;
}