01背包问题
import java.util.*;
import java.io.*;
import java.lang.Math;
public class Main{
static int N=30010;//n元 m希望购买个数
static int[] f = new int[N];
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int v,p;//v价格 p权值
for(int i=1;i<=m;i++){
v = in.nextInt();
p = in.nextInt();
p = v*p;
for(int j=n;j>=v;j--){
f[j] = Math.max(f[j],f[j-v]+p); //比较花同样钱情况下 产生的价值最高
}
}
System.out.println(f[n-1]);
}
}