HDOJ 吃糖果

点击打开链接

/*
水题:
最大的情况是:#^#%#^#  (#,^,%表示糖果),比这种情况再多一粒就会No  这种情况x下
x + x-1 = sum  所以: x = (sum + 1)/2。(sum为奇数)
所以判断为No的条件为:max >= (sum + 1)/2 + 1
*/
#include <stdio.h>

int main()
{
	int t, n, a, max;
	__int64 sum;
	scanf ("%d",&t);
	while (t--)
	{
		sum = max = 0;
		scanf ("%d",&n);
		while (n--)
		{
			scanf ("%d",&a);
			if (a > max) max = a;
			sum += a;
		}
		puts((max >= (sum+1)/2+1) ? "No" : "Yes");
	}
}
点赞