https://vjudge.net/problem/HDU-1205

恩….不算太难…但是脑子诡异的短路了一发

思路差不多是数目最多的糖果先摆着,然后如果剩下的可以插空插满,就是成立的 不可以插满的话就是不成立,对于测试数据是4 2 1 3个糖果先摆上 然后剩下的三个插在4个的中间就可以了 。所以是剩下的大于等于最大值减一……就在这个地方诡异的短路了、一开始以为是大于最大值加一才成立

#include<iostream> using namespace std; int a[1000010]; int main()
{ int T; cin >> T; while(T--)
    { int N; cin >> N; int maxn = 0; long long temp = 0; for(int i = 0 ; i < N ; i++)
        { cin >> a[i];
            maxn = max(a[i],maxn);
            temp += a[i];
        }
        temp-=maxn;//是除了最多的糖果剩下的糖果的总和 temp>=maxn-1?cout<<"Yes"<<endl:cout<<"No"<<endl;

    }
    r