Codeforces Round #248 (Div. 2) A

题意

给n个数,都是100或者200,问能否把这些数平均分给两个人。

思路

先算出如果平均分的话每个人要多少(sum/2),如果不能整除100那么肯定不行。如果是100的倍数,,则先尽量用200的,用完200的或者已经不足200了再用100的。

代码;const int maxn = 110;int s[maxn];int n;int main(){int cnt2 = 0;int cnt1 = 0;scanf(“%d”,&n);for(int i = 0 ; i < n ; i ++) {scanf(“%d”,&s[i]);if(s[i] == 200) cnt2 ++;else cnt1 ++;}int ans = (cnt2*200+(n-cnt2)*100)/2;if(ans%100) {printf(“NO\n”);}else {while(ans >= 200 && cnt2 > 0) {cnt2 –;ans -= 200;}if(ans/100 <= cnt1) printf(“YES\n”);else printf(“NO\n”);}return 0;}

而开始追寻他内心世界的真正财富

Codeforces Round #248 (Div. 2) A

相关文章:

你感兴趣的文章:

标签云: