内存超了,用c就没事。。。
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()) {
int m = scanner.nextInt();
int n = scanner.nextInt();
if(m > 32192) m = 32192;
int[] c= new int[16];
int[] v = new int[16];
int[] dp = new int[32195];
for(int i = 0; i < n; i++) {
int cost = scanner.nextInt();
int weight = scanner.nextInt();
c[i] = cost;
v[i] = weight;
}
for(int i = 0; i < n; i++) {
for(int j = m; j >= c[i]; j--) {
dp[j] = Math.max(dp[j], dp[j-c[i]] + v[i]);
}
}
System.out.println(dp[m]);
}
}
}