#AT1831. C - Fair Candy Distribution

C - Fair Candy Distribution

C - 公平分发糖果

得分:300分

问题描述

在高桥王国有$N$个公民。每个公民都有一个国家身份证号码,第$i$个公民的身份证号码是$a_i$。这里,所有的$a_i$两两不同。

高桥决定按照以下方式将$K$块糖果分发给公民们,直到没有糖果为止。

  • 当有$N$块或更多的糖果时,每位公民分发一块糖果。
  • 否则,令$K'$为此时剩余的糖果数,将一块糖果分发给拥有$K'$个最小身份证号码的公民。

最后,第$i$个公民会得到多少块糖果?

约束

  • $1 \leq N \leq 2 \times 10^5$
  • $1 \leq K \leq 10^{18}$
  • $1 \leq a_i \leq 10^9$
  • 所有的$a_i$两两不同。
  • 输入中的数都是整数。

输入

从标准输入中以以下格式给出输入:

NN KK

a1a_1 a2a_2 \ldots aNa_N

输出

输出$N$行。第$i$行应该包含第$i$个公民收到的糖果的数量。


2 7
1 8
4
3

高桥会按以下方式分发糖果:

  • 每个人分发一块糖果,剩下5块糖果。
  • 每个人分发一块糖果,剩下3块糖果。
  • 每个人分发一块糖果,剩下1块糖果。
  • 剩下的一块糖果分发给第1个公民,没有剩余糖果。

最后,第1个公民将得到4块糖果,第2个公民将得到3块糖果。


1 3
33
3

由于只有一个公民,高桥会将所有的糖果都分给这个第1个公民。


7 1000000000000
99 8 2 4 43 5 3
142857142857
142857142857
142857142858
142857142857
142857142857
142857142857
142857142857