首页 > 其他 > 详细

1802(洛谷)

时间:2020-04-12 10:10:21      阅读:43      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
int dp[1100];
int win[1100], lose[1100], use[1100];
int main()
{
int n, m;
cin>>n>>m;
for (int i = 1; i <= n; i++)
//scanf("%d%d%d", lose + i, win + i, use + i);
cin >> lose[i] >> win[i] >> use[i];
for (int i = 1; i <= n; i++)
{
for (int j = m; j >= use[i]; j--)//还可以干一下,这两个部分是可以衔接的
//因为只有两种情况打得赢,打不赢
dp[j] = max(dp[j] + lose[i], dp[j - use[i]] + win[i]);
for (int j = use[i] - 1; j >= 0; j--)//直接干不赢的
dp[j] += lose[i];
}
printf("%lld", 5ll * dp[m]);//数据处理,经验问题。注意这个数据输出的问题
}

1802(洛谷)

原文:https://www.cnblogs.com/WAsbry/p/12683664.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!