原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=1205
题目大意: 吃糖果,但一样的糖果不可以连续吃,
**题目思路:**利用"插空隙的原理",只要最多数量的糖果数小于等于其他糖果数之和+1
代码实现:
#include<stdio.h>
#include<iostream>
using namespace std;
const int N=1000005;
int a[N];
/*
解题思路:利用"插空隙的原理",只要最多数量的糖果数小于等于其他糖果数之和+1
*/
int main()
{
int n;
cin>>n;
while(n--)
{
long long m,max_=1,s=0;
cin>>m;
for(int i=0;i<m;i++)
{
cin>>a[i];
s+=a[i];
if(a[i]>max_)
max_=a[i];
}
s=s-max_;//要想输出yes要最大值要小于等于其余值的和减一
if(s+1>=max_)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}