第 i 个任务每次在队首获得 m 点额度,累计达到 wi 才会离开。它需要的发放次数为
⌈mwi⌉=⌊mwi+m−1⌋模拟队列可以发现:次数更少的任务一定更早离开;次数相同则先进入(下标更小)的更早离开。因此只需按(次数,下标)升序排序。
输入中 n 与 m 可能分行,应用空白分隔一次性读入全部整数,与 cin 行为一致。
有 n 个任务排成一队领取额度。第 i 个任务需要的额度为 wi。每次总是给当前队首发放 m 点额度:若累计已得额度仍小于 wi,该任务立刻排到队尾继续等待;否则它立即离开队伍。
所有任务最终都会离开。请输出它们离开队伍的先后顺序(任务编号从 1 到 n,按初始排队位置编号)。
约束条件:
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.