杭电acm1205

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;
}
View Code
原文地址:https://www.cnblogs.com/huzhenbo113/p/3102406.html