/*problem: 01背包*/
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 15000;
int w[maxn], v[maxn], dp[maxn];
int main()
{
int n, m, ans;
while (cin >> n >> m) {
memset(dp, 0, sizeof(dp));
ans = 0;
for (int i = 1; i <= n; ++i) {
cin >> w[i] >> v[i];
}
for (int i = 1; i <= n; ++i) {
for (int j = m; j >=w[i]; --j) {
dp[j] = max(dp[j], dp[j - w[i]] + v[i]);
ans = max(ans, dp[j]);
}
}
cout << ans << endl;
}
return 0;
}
POJ 3624 Charm Bracelet
最新推荐文章于 2022-08-11 11:21:35 发布