分析
01背包模板题
C++ 代码
#include <iostream>
#include <cstdio>
using namespace std;
int n, W;
int w[1005], v[1005], dp[1005];
int main()
{
scanf("%d%d", &n, &W);
for (int i = 1; i <= n; i++)
{
scanf("%d%d", &v[i], &w[i]);
}
for (int i = 1; i <= n; i++)
{
for (int j = W; j >= v[i]; j--)
{
dp[j] = max(dp[j], dp[j - v[i]] + w[i]);
}
}
printf("%d\n", dp[W]);
return 0;
}