10分求助
  • 板块学术版
  • 楼主__ikun__horro__
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/4/16 14:54
  • 上次更新2023/10/23 18:17:33
查看原帖
10分求助
607705
__ikun__horro__楼主2023/4/16 14:54

https://www.luogu.com.cn/problem/T327935

#include <iostream>
#include <cstring>
using namespace std;
int n, W, w[30005], v[30005], dp[60005], ans;
signed main() {
	cin >> n >> W;
	for (int i = 1; i <= n; i++) cin >> w[i] >> v[i];
	memset(dp, 0x80, sizeof dp);
	dp[0] = 0;
	for (int i = 1; i <= n; i++) {
		for (int j = W; j >= w[i]; j--) {
			dp[j] = max(dp[j], dp[j - w[i]] + v[i]);
		}
	}
	for (int i = 0; i <= W; i++) ans = max(ans, dp[i]);
	cout << ans;
	return 0;
}
2023/4/16 14:54
加载中...