考察点
01背包
Code
#include <iostream>
using namespace std;
const int N=1010;
int t,m;
int v[N],w[N];
int f[N]; // f[i][j]--前i个里面,选出时间不超过 为 j的 最大价值
int main(){
cin>>t>>m;
for(int i=1;i<=m;i++) cin>>v[i]>>w[i];
for(int i=1;i<=m;i++)
for(int j=t;j>=v[i];j--)
f[j]=max(f[j],f[j-v[i]]+w[i]);
cout<<f[t];
return 0;
}
哒哒哒