蒟蒻求救,为啥WA,感觉自己没写错啊QAQ
查看原帖
蒟蒻求救,为啥WA,感觉自己没写错啊QAQ
332578
emoheizi楼主2020/6/27 12:10
#define MAX_VAL 1000+5
#include <bits/stdc++.h>
using namespace std;

int n,x;
long long dp[MAX_VAL],cost[MAX_VAL],lose[MAX_VAL],win[MAX_VAL];

int main(int arg,char **argv){
    scanf("%d %d",&n,&x);
    for(int i=1;i<=n;i++) scanf("%lld %lld %lld",&lose[i],&win[i],&cost[i]);
    for(int i=1;i<=n;i++){
        for(int k=x;k>=0;k--){
            if(k>=cost[i]) dp[k] = max(dp[k]+lose[i],dp[k-cost[i]]+win[i]);
            else dp[k] += lose[i];
        }
    }
    cout<<dp[n]*5;
    return 0;
}

题目测试用例的:

in:
6 8
21 52 1
21 70 5
21 48 2
14 38 3
14 36 1
14 36 2
out:
1060

但是我代码输出的是1035,为啥会WA啊?

2020/6/27 12:10
加载中...