您的位置:首页 > 其它

POJ 3624 Charm Bracelet

2014-07-18 14:28 253 查看
/*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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: