P1802 5倍经验日
题目入口:P1802 5倍经验日
AC代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
const int MAXN = 1e6+10;
LL dp[MAXN];
int lose[MAXN], win[MAXN], use[MAXN];
int main() {
int n, x;
scanf("%d%d", &n, &x);
for (int i = 1; i <= n; i++) scanf("%d%d%d", &lose[i], &win[i], &use[i]);
for (int i = 1; i <= n; i++){
for (int j = x; j >= use[i]; j--)
dp[j] = max(dp[j-use[i]]+win[i], dp[j]+lose[i]);
for (int j = use[i]-1; j >= 0; j--)
dp[j] += lose[i];
}
printf("%lld\n", dp[x]*5);
return 0;
}