c,忘记dp怎么做了
#include<iostream>
using namespace std;
int dp[30][30005],w[30],v[30005];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>w[i]>>v[i];
v[i]*=w[i];
}
for(int i=1;i<=m;i++){
for(int j=n;j;j--){
if(j>=w[i])dp[i][j]=max(dp[i][j],dp[i-1][j-w[i]]+v[i]);
else dp[i][j]=dp[i-1][j];
}
}
cout<<dp[m][n];
system("pause");
return 0;
}