一、题目
二、CODE
import java.util.Scanner;
public class Main {
//总共用来采药的时间 t 和 代表山洞里的草药的数目 m
static int t, m;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
t = sc.nextInt();
m = sc.nextInt();
int[] v = new int[m + 1];//价值
int[] w = new int[m + 1];//时间
for (int i = 1; i < m + 1; i++) {
w[i] = sc.nextInt();
v[i] = sc.nextInt();
}
System.out.println(dp(v, w));
}
public static long dp(int[] v, int[] w) {
long[] dp = new long[t + 1];
for (int i = 1; i <= m; i++) {
for (int j = w[i]; j <= t; j++) {
dp[j] = Math.max(dp[j], dp[j - w[i]] + v[i]);
}
}
return dp[t];
}
}