import java.util.Scanner;
public class Main {
public static void main(String argv[]) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int n = in.nextInt();
int size = in.nextInt();
int[] weight = new int[n + 1];
int[] price = new int[n + 1];
int[][] dp = new int[n + 1][size + 1];
for (int i = 1; i <= n; i++) {
weight[i] = in.nextInt();
price[i] = in.nextInt();
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= size; j++) {
dp[i][j] = dp[i - 1][j];
if (weight[i] <= j && (dp[i - 1][j - weight[i]] + price[i]) > dp[i][j]) {
dp[i][j] = dp[i - 1][j - weight[i]] + price[i];
}
}
}
System.out.println(dp[n][size]);
}
}
}
01背包
最新推荐文章于 2022-03-04 00:11:36 发布