题目贴在后面。
思路:
这个题比较简单,数组排序找最大的即可。
代码:
// 本题为考试多行输入输出规范示例,无需提交,不计分。
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int h = scanner.nextInt();
int u = scanner.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i ++) {
arr[i] = scanner.nextInt();
}
if (u <= h) {
System.out.println(0);
return;
}
Arrays.sort(arr);
int res = 0;
u -= h;
for (int i = arr.length - 1; i >= 0; i --) {
res ++;
u -= arr[i];
if (u <= 0) {
System.out.println(res);
return;
}
}
System.out.println(-1);
}
}