lanqiao 2223 背包与魔法

This commit is contained in:
2025-04-09 12:34:31 +08:00
parent 6fec9ba3c2
commit e81e71b95f

View File

@@ -0,0 +1,29 @@
// lanqiao 2223 背包与魔法
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e4 + 10;
int dp[N][2];
signed main()
{
// 请在此输入您的代码
int n, m, k; cin >> n >> m >> k;
for(int i = 1; i <= n; i++){
int w, v; cin >> w >> v;
for(int j = m; j >= 0; j--){
if(j >= w){
dp[j][0] = max(dp[j][0], dp[j-w][0] + v);
dp[j][1] = max(dp[j][1], dp[j-w][1] + v);
}
if(j >= (w+k)) dp[j][1] = max(dp[j][1], dp[j-w-k][0] + 2*v);
}
}
cout << max(dp[m][1], dp[m][0]) << '\n';
return 0;
}
/* test samples -> 26
3 10 3
5 10
4 9
3 8
*/