原题地址
自己犯傻的一道题。。。
两种思路:
第一种,鸽笼原理(咱也不知道是啥)
第二种,暴力:因为要想吃完所有糖果,肯定最多数量的糖果是要重点关注的(不关注吃不完啊 )其他的糖果可以看做是一个踏板,只要踏板数量够多使得最多数量的糖果吃完即可。(其实是个规律,可以自己写一些符合题意的样例,你会发现只要满足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;
}