欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1760F.Quests
Quests
题目描述
有 个任务。如果你完成第 个任务,你将获得 个金币。你每天最多只能完成一个任务。然而,一旦你完成了某个任务,在接下来的 天内你不能再次完成同一个任务。(例如,如果 ,你在第 天完成了任务 ,那么在第 天和第 天你都不能再次完成任务 ,但可以在第 天再次完成。)
现在给定两个整数 和 。请你求出最大的 ,使得你在 天内至少可以获得 个金币。如果不存在这样的 ,输出 Impossible。如果 可以任意大,输出 Infinity。
输入格式
输入包含多组测试数据。第一行包含一个整数 (),表示测试数据的组数。接下来是每组测试数据的描述。
每组测试数据的第一行包含三个整数 (;;),分别表示任务数量、所需金币数量和天数。
每组测试数据的第二行包含 个整数 (),表示每个任务的奖励金币数。
所有测试数据中 的总和不超过 ,所有测试数据中 的总和不超过 。
输出格式
对于每组测试数据,输出以下三种情况之一:
- 如果不存在这样的 ,输出 Impossible。
- 如果 可以任意大,输出 Infinity。
- 否则,输出一个整数,表示最大的 ,使得你在 天内至少可以获得 个金币。
请注意,判题器区分大小写,你需要严格按照题目要求输出字符串。
说明/提示
在第一个测试用例中,一种在 天内用 获得 个金币的方法如下:
- 第 1 天:完成任务 2,获得 个金币。
- 第 2 天:完成任务 1,获得 个金币。
- 第 3 天:不做任何任务。
- 第 4 天:完成任务 2,获得 个金币。
总共获得 个金币。
在第二个测试用例中,我们可以在第一天通过完成第一个任务获得 个金币,因此 可以任意大,因为我们不需要再做其他任务。
在第三个测试用例中,无论怎么做,都无法在 天内获得 个金币。
由 ChatGPT 4.1 翻译
样例
6
2 5 4
1 2
2 20 10
100 10
3 100 3
7 2 6
4 20 3
4 5 6 7
4 100000000000 2022
8217734 927368 26389746 627896974
2 20 4
5 1
2
Infinity
Impossible
1
12
0
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |