吃糖果 hdu1205(水题)
原题地址
自己犯傻的一道题。。。
两种思路:
第一种,鸽笼原理(咱也不知道是啥)
第二种,暴力:因为要想吃完所有糖果,肯定最多数量的糖果是要重点关注的(不关注吃不完啊 )其他的糖果可以看做是一个踏板,只要踏板数量够多使得最多数量的糖果吃完即可。(其实是个规律,可以自己写一些符合题意的样例,你会发现只要满足sum - max+1 >=max即可)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t ;scanf("%d",&t);
while(t--){
int n;cin >>n;
int flag=0;
for(int i=0;i<n;i++)scanf("%d",&arr[i]);
sort(arr,arr+n);
ll sum=0;
for(int i=n-2;i>=0;i--){
sum+=arr[i];
}
if(sum<arr[n-1]-1)cout<<"No"<<endl;
else cout<<"Yes"<<endl;
}
return 0;
}