//来,H2O 一发博客
1. 题目
2. 题解
01 背包模板题。
其实可以不用滚动数组。
#include <bits/stdc++.h>
using namespace std;
int t,m,c[105],v[105],f[1005];
int main()
{
scanf("%d%d",&t,&m);
for(int i=1;i<=m;i++)scanf("%d%d",&c[i],&v[i]);
for(int i=1;i<=m;i++)
for(int j=t;j>=c[i];j--)
f[j]=max(f[j],f[j-c[i]]+v[i]);
printf("%d\n",f[t]);
return 0;
}
0 条评论