第二种代码:
#include <bits/stdc++.h>
using namespace std;
int f[300010],v[30],p[30];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>v[i]>>p[i];
}
for(int i=1;i<=m;i++){
for(int j=n;j>=v[i];j--){
f[j]=max(f[j],f[j-v[i]]+p[i]*v[i]);
}
}
cout<<v[n];
return 0;
}
还是30分........