杭电1205

2025-02-27 08:22:00
推荐回答(1个)
回答1:

你没有处理这个Case


Sample Input

1
1
1

Sample Output

Yes


建议对这个Case进行特殊处理

import java.util.*;

public class Main {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[]a = new int[1000000];
while (n-- != 0){
int m = sc.nextInt();
int i = 0;
while (i < m){
a[i] = sc.nextInt();
i++;
}
Arrays.sort(a, 0, m);

int sum = 0;
boolean b = false;

// 特殊处理
if (sum >= a[m - 1] - 1){
b = true;
}

for (i = m - 2; i >= 0; i--){
sum += a[i];
if (sum >= a[m - 1] - 1){
b = true;
break;
}
}
if (b)
System.out.println("Yes");
else
System.out.println("No");
}
}
}