问题 6661 --打气球6661: 打气球★★
时间限制: 1 Sec 内存限制: 128 MB
提交: 35 解决: 12
[提交][状态][命题人:]题目描述
昌昌在玩打气球游戏,屏幕上共有n个气球(编号为1--n),第i个气球的防护力为a[i],每次射击会使被击中的气球的防护力降低k,若气球防护力<=0,则气球会炸掉。
昌昌每次会对防护力最高的气球进行射击,若有多个气球的防护力相同,则会对编号最小的气球进行射击。现在请你帮忙计算一下,气球炸掉的顺序
输入
第一整数为T,表示有T (1≤T≤10000)组测试样例。
每组测试样例的第1行为整数n和k(1≤n≤3e5; 1≤k≤1e9),分别表示气球的数量和被击中气球防护力的下降值。
第2行为n个整数a1,a2,...an(1≤ai≤1e9),表示每个气球的防护力。
测试数据保证所有的n之和不超过3e5。
输出
对于每组测试数据,输出n个整数,分别表示先后炸掉气球的编号。
提示
在测试样例1中,气球被射击后防护力的变化如下: [1,2,3]→[1,2,1]→[1,0,1]→[−1,0,1]→[−1,0,−1]。
在测试样例2中,气球被射击后防护力的变化如下: [1,1]→[−2,1]→[−2,−2]
在测试样例3中,气球被射击后防护力的变化如下:[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]
来源
[提交][状态]