CF1849B.Monsters
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Monocarp is playing yet another computer game. And yet again, his character is killing some monsters. There are n monsters, numbered from 1 to n, and the i-th of them has ai health points initially.
Monocarp's character has an ability that deals k damage to the monster with the highest current health. If there are several of them, the one with the smaller index is chosen. If a monster's health becomes less than or equal to 0 after Monocarp uses his ability, then it dies.
Monocarp uses his ability until all monsters die. Your task is to determine the order in which monsters will die.
莫诺卡普正在玩另一款电脑游戏。同样地,他的角色正在击杀一些怪物。共有 n 只怪物,编号从 1 到 n,其中第 i 只怪物的初始生命值为 ai。
莫诺卡普的角色拥有一种技能,该技能会对当前生命值最高的怪物造成 k 点伤害。若存在多个生命值最高的怪物,则选择编号最小的那个。若莫诺卡普使用该技能后某只怪物的生命值降至 0 或更低,则该怪物死亡。
莫诺卡普将持续使用该技能,直至所有怪物均死亡。你的任务是确定怪物死亡的顺序。
输入格式
The first line contains a single integer t (1≤t≤104) — the number of test cases.
The first line of each test case contains two integers n and k (1≤n≤3⋅105; 1≤k≤109) — the number of monsters and the damage which Monocarp's ability deals.
The second line contains n integers a1,a2,…,an (1≤ai≤109) — the initial health points of monsters.
The sum of n over all test cases doesn't exceed 3⋅105.
第一行包含一个整数 t(1≤t≤104)—— 测试用例的数量。
每个测试用例的第一行包含两个整数 n 和 k(1≤n≤3⋅105;1≤k≤109)—— 怪物的数量以及 Monocarp 技能造成的伤害值。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤109)—— 各怪物的初始生命值。
所有测试用例中 n 的总和不超过 3⋅105。
输出格式
For each test case, print n integers — the indices of monsters in the order they die.
对于每个测试用例,输出 n 个整数——即怪物死亡顺序的索引。
输入输出样例
输入#1
3 3 2 1 2 3 2 3 1 1 4 3 2 8 3 5
输出#1
2 1 3 1 2 3 1 2 4
说明/提示
In the first example, the health points change as follows: [1,2,3]→[1,2,1]→[1,0,1]→[−1,0,1]→[−1,0,−1]. The monster that is going to take damage the next time Monocarp uses his ability is underlined.
In the second example, the health points change as follows: [1,1]→[−2,1]→[−2,−2].
In the third example, the health points change as follows: [2,8,3,5]→[2,5,3,5]→[2,2,3,5]→[2,2,3,2]→[2,2,0,2]→[−1,2,0,2]→[−1,−1,0,2]→[−1,−1,0,−1].
在第一个例子中,生命值的变化过程如下:[1,2,3]→[1,2,1]→[1,0,1]→[−1,0,1]→[−1,0,−1]。每次 Monocarp 使用技能时,即将受到伤害的怪物用下划线标出。
在第二个例子中,生命值的变化过程如下:[1,1]→[−2,1]→[−2,−2]。
在第三个例子中,生命值的变化过程如下:[2,8,3,5]→[2,5,3,5]→[2,2,3,5]→[2,2,3,2]→[2,2,0,2]→[−1,2,0,2]→[−1,−1,0,2]→[−1,−1,0,−1]。
输入解题思路,AI测评打分。不知道怎么写?