先吃一个最多的, 再吃一个其他的,只要最多的满足sum - max + 1 >= max , 那么就可以吃完.
#include"stdio.h"
int main()
{
int t,i;
__int64 a,max,n,sum;
scanf("%d",&t);
while(t--)
{
scanf("%I64d",&n);
max=sum=0;
for(i=0;i<n;i++)
{
scanf("%I64d",&a);
sum+=a;
if(max<a)max=a;
}
if(sum-max+1>=max)
printf("Yes\n");
else printf("No\n");
}
return 0;
}