欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF155B.Combination
Combination
题目描述
Ilya 玩一种卡牌游戏,规则如下。
玩家拥有若干张卡牌,每张卡牌的顶部和底部分别写有两个非负整数。每轮游戏开始时,玩家选择自己的一张卡牌来出牌。如果一张卡牌的顶部数字为 ,底部数字为 ,那么出这张牌时,玩家可以获得 分,并且可以额外出 张牌。打出的卡牌会被弃掉。
更正式地说:设有一个可以出牌的计数器。每轮开始计数器为 1。每出一张卡,计数器会因打出一张牌减 1,并根据该牌底部数字 增加 ,然后该牌被移除。如果此后计数器不为零,玩家可以继续从剩下的牌中选择一张牌打出。回合在计数器为零或无牌可选时结束。
当然,Ilya 想获得尽可能多的分数。已知他拥有的所有牌,请你计算出他一轮最多能得到多少分。
输入格式
第一行包含一个整数 (),表示 Ilya 拥有的牌数。
接下来 行,每行两个用空格分隔的非负整数,分别表示第 张牌顶部的数字 和底部的数字 ()。
输出格式
输出一个整数,表示按照上述规则一轮游戏最多可以获得的分数。
说明/提示
在第一个样例中,两张牌都不能带来额外的出牌次数,因此应该选择分值较高的那一张作为出牌。
在第二个样例中,应首先打第三张牌,即便它不带来分数,但是它可以让你再出两张剩下的牌。
由 ChatGPT 5 翻译
样例
2
1 0
2 0
2
3
1 0
2 0
0 2
3
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |