欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF2013B.Battle for Survive
Battle for Survive
题目描述
Eralim(原文人名)作为 mafia(原文组织名)老大,管理着 名战士。第 名战士的评分为 。
Eralim 安排了一场 场战斗的锦标赛,每场战斗中都会选择两名尚未被淘汰的战士 和 (其中 ),而战斗的结果是战士 被淘汰出比赛,战士 的评分会减去战士 的评分相同。也就是说, 会减去 。请注意,战士 的评分可能会变为负数。战士们的编号不会改变。
Eralim 想知道,如果他最优地选择战斗,最后剩下的那名战士最多能保持多少评分。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 ()。测试用例的描述如下。
每个测试用例的第一行包含一个整数 ()——战士的数量。
每个测试用例的第二行包含 个整数 ()——战士的评分。
所有测试用例中的总和不超过 。
输出格式
对于每个测试用例,输出一个整数——最后一个剩余战士可以保持的最高评分。
说明/提示
在第一个例子中,你可以安排编号为 和 的战士之间的比赛,其中编号为 的战士会获胜。最后一个战士的评分,即编号为 的战士,将是 。
在第二个例子中,你可以先让编号为 和 的战士进行比赛,其中编号为 的战士会获胜,然后让编号为 和 的战士进行比赛,其中编号为 的战士会获胜。
在第一场比赛后,编号为 的战士的评分将是 。在第二场比赛后,编号为 的战士的评分将是 。
翻译者:jiangyunuo。
样例
5
2
2 1
3
2 2 8
4
1 2 4 3
5
1 2 3 4 5
5
3 2 4 5 4
-1
8
2
7
8
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |