为什么这个CSP的何以包邮这么写是0分,是哪里没考虑到吗?
题目是:
新学期伊始,适逢顿顿书城有购书满 元包邮的活动,小 P 同学欣然前往准备买些参考书。
一番浏览后,小 P 初步筛选出 本书加入购物车中,其中第 本()的价格为 元。
考虑到预算有限,在最终付款前小 P 决定再从购物车中删去几本书(也可以不删),使得剩余图书的价格总和 在满足包邮条件()的前提下最小。
试帮助小 P 计算,最终选购哪些书可以在凑够 元包邮的前提下花费最小?
package A_202209;
import java.util.Scanner;
import static java.lang.Math.min;
public class B {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int x = sc.nextInt();
int[] a = new int[n + 1];
int[][] flag = new int[n + 1][n + 1];
for (int i = 1; i <= n ; i++) {
a[i] = sc.nextInt();
flag[i][i] = a[i];
}
for (int i = 1; i <= n; i++) {
for (int j = i + 1; j <= n ; j++) {
flag[i][j] = flag[i][i] + flag[j][j];
}
}
/*for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n ; j++) {
System.out.println(i + " " + j + ":" + flag[i][j]);
}
}*/
int min = 99999;
for (int i = 1; i <= n ; i++) {
for (int j = 1; j <= n; j++) {
if(flag[i][j] >= x)
min = min(min,flag[i][j]);
}
}
System.out.print(min);
}
}