貌似先要先枚举m,再枚举n才能保证正确性
by 派大那个星 @ 2019-01-07 15:31:56
```#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m;
int a[30008][2];
int da[30008];
void dp(){
for(int i=1;i<=m;i++)
for(int j=n;j>=a[i][0];j--)
da[j]=max(da[j],da[j-a[i][0]]+a[i][0]*a[i][1]);
cout<<da[n]<<endl;
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++)
cin>>a[i][0]>>a[i][1];
dp();
return 0;
}```
by 派大那个星 @ 2019-01-07 15:32:33
动态规划
by GaryDu @ 2019-05-05 19:17:18