#P16767. [GKS 2020 #F] ATM Queue
[GKS 2020 #F] ATM Queue
题目描述
有 个人,编号为 到 ,正排成一队从 ATM 机上取钱。队列按编号升序排列。编号为 的人想要取出金额 。每个人每次最多能取出 元。如果他们需要的钱超过 ,就需要走到队尾重新排队等待下一次取款。一旦取够了所需金额,该人就会离开队列。
你需要找出所有人离开队列的顺序。
输入格式
输入的第一行给出测试用例的数量 。接下来有 个测试用例。
每个测试用例的第一行给出两个空格分隔的整数:队列中的人数 以及一次操作最多能取出的金额 。
下一行包含 个空格分隔的整数 。
输出格式
对于每个测试用例,输出一行,格式为 Case #x: y,其中 是测试用例编号(从 开始), 是一个空格分隔的整数列表,表示所有人离开队列的顺序。
2
3 3
2 7 4
5 6
9 10 4 7 2
Case #1: 1 3 2
Case #2: 3 5 1 2 4
提示
在样例 #1 中,有 个人,一次最多取 元。过程的逐步描述如下:
- 初始队列为 。第 个人第一次取 元,取够后离开队列。
- 此时队列变为 。第 个人想取 元,但第一次只能取 元,还需 元,因此他走到队尾重新排队。
- 队列变为 。第 个人想取 元,第一次只能取 元,还需 元,因此他走到队尾重新排队。
- 队列变为 。第 个人仍需要 元,第二次取 元,还需 元,等待下一次。
- 队列变为 。第 个人取出剩余的 元后离开队列。
- 队列变为 。第 个人取出剩余的 元后离开队列。
- 队列为空。
离开顺序为 。
在样例 #2 中,有 个人,一次最多取 元。过程的逐步描述如下:
- 初始队列 。第 个人取 元,还需 元,走到队尾。
- 队列 。第 个人取 元,还需 元,走到队尾。
- 队列 。第 个人取 元,取够后离开。
- 队列 。第 个人取 元,还需 元,走到队尾。
- 队列 。第 个人取 元,取够后离开。
- 队列 。剩余的人依次在第二次取款后离开。
离开顺序为 。
限制条件
。
测试集 1
。
。
。
测试集 2
最多 个测试用例满足 。其余测试用例满足 。
。
。
翻译由 DeepSeek V4 Pro 完成