题目
http://acm.hdu.edu.cn/showproblem.php?pid=1205
总结
一开始没有理解题意…一开始的x就代表了种数,然后接下来输入的一系列数字是不同种类糖的数目
一开始理解成了1是一种,两个1的话就代表有1种类的糖有两个,真的是思路清奇
数组太大的话要定义在外面,老是忘记这种小细节呜呜呜
只要数量最多的那种糖不要多过其他种类糖的总和加1就可以被插空了,怎么插的话不用管
总之就是可以排成满足题目要求的样子↑
AC代码
#include <stdio.h>
#define max(a,b) a>b?a:b//宏定义,原来这么好用......
int n,x,a[1000000];
int main()
{
scanf("%d",&n);
while(n--)
{
__int64 sum=0,MAX=0;
scanf("%d",&x);
for(int i=0;i<x;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
MAX=max(MAX,a[i]);
}
sum=sum-MAX+1;
if(sum>=MAX)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}