注解
1、鸽巢原理。
2、只需要判断数目最多的那种,数量是不是比其他的加起来的和还要多?如果多了超过1个,就输出No,否则就是Yes。
代码
#include <iostream>
using namespace std;
typedef long long int LL;
int main() {
int T;
scanf("%d", &T);
for(int i=0; i<T; i++){
int N;
scanf("%d", &N);
LL sum = 0;
int max = -1;
for(int j=0; j<N; j++){
int t;
scanf("%d", &t);
sum += t;
if(t>max){
max = t;
}
}
if(sum-max+1>=max){
printf("Yes\n");
}
else{
printf("No\n");
}
}
return 0;
}