http://acm.hdu.edu.cn/showproblem.php?pid=1205
思路:
只要除了数目最多的糖果以外的其他所有糖果的数目之和加1(小心这里要用int64),大于等于数目最多的糖果数,就能吃完,否则不能。
#include<stdio.h> int main() { __int64 n,x,sum,max,t,i; scanf("%I64d",&t); while(t--) { scanf("%I64d",&n); max=sum=0; for(i=0;i<n;i++) { scanf("%I64d",&x); if(x>max) max=x; sum+=x; } sum-=max; if(sum+1>=max) printf("Yes\n"); else printf("No\n"); } return 0; }