RE程序:
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+1;
long long n,f[30][30010],a[N],m,b[N];
int main(){
cin>>m>>n;
for(int i=1;i<=n;i++){
cin>>a[i]>>b[i];
b[i]=b[i]*a[i];
}
f[0][0]=0;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
if(j>=a[i]){
f[i][j]=max(f[i-1][j],f[i-1][j-a[i]]+b[i]);
}
else{
f[i][j]=f[i-1][j];
}
cout<<f[i][j]<<endl;
}
}
cout<<f[m][n];
return 0;
}
大佬指点QAQ