#CF1760F. Quests
Quests
题目描述
有 个任务。如果你完成第 个任务,你将获得 个金币。你每天最多只能完成一个任务。然而,一旦你完成了某个任务,在接下来的 天内你不能再次完成同一个任务。(例如,如果 ,你在第 天完成了任务 ,那么在第 天和第 天你都不能再次完成任务 ,但可以在第 天再次完成。)
现在给定两个整数 和 。请你求出最大的 ,使得你在 天内至少可以获得 个金币。如果不存在这样的 ,输出 Impossible。如果 可以任意大,输出 Infinity。
输入格式
输入包含多组测试数据。第一行包含一个整数 (),表示测试数据的组数。接下来是每组测试数据的描述。
每组测试数据的第一行包含三个整数 (;;),分别表示任务数量、所需金币数量和天数。
每组测试数据的第二行包含 个整数 (),表示每个任务的奖励金币数。
所有测试数据中 的总和不超过 ,所有测试数据中 的总和不超过 。
输出格式
对于每组测试数据,输出以下三种情况之一:
- 如果不存在这样的 ,输出 Impossible。
- 如果 可以任意大,输出 Infinity。
- 否则,输出一个整数,表示最大的 ,使得你在 天内至少可以获得 个金币。
请注意,判题器区分大小写,你需要严格按照题目要求输出字符串。
样例
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
样例说明
在第一个测试用例中,一种在 天内用 获得 个金币的方法如下:
- 第 1 天:完成任务 2,获得 个金币。
- 第 2 天:完成任务 1,获得 个金币。
- 第 3 天:不做任何任务。
- 第 4 天:完成任务 2,获得 个金币。
总共获得 个金币。
在第二个测试用例中,我们可以在第一天通过完成第一个任务获得 个金币,因此 可以任意大,因为我们不需要再做其他任务。
在第三个测试用例中,无论怎么做,都无法在 天内获得 个金币。
由 ChatGPT 4.1 翻译
来源
Codeforces 1760F,英文题名 Quests。