#4240. 公平的糖果分发(Fair Candy Distribution)

公平的糖果分发(Fair Candy Distribution)

题目描述

小高有NN个公民和KK块糖果。每个公民都有一个唯一的身份证号码aia_i。小高决定按以下方式分发糖果,直到他没有更多的糖果:

  • 当他有NN块或更多糖果时,每个公民分发一块。
  • 否则,假设他现在有KK'块糖果,他会将这些糖果分发给身份证号码最小的KK'个公民,每人一块。

当所有糖果分发完毕后,第ii个公民会得到多少块糖果?

输入格式

输入从标准输入中给出,格式如下:
N KN \ K
a1 a2 ... aNa_1 \ a_2 \ ... \ a_N

输出格式

输出NN行。第ii行应包含第ii个公民收到的糖果数量。

样例

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

样例解释

【样例1说明】

小高将按以下方式分发糖果:

  • 每人分发一块,剩下5块。
  • 每人分发一块,剩下3块。
  • 每人分发一块,剩下1块。
  • 将最后一块分发给第1个公民。

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

【样例2说明】

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

数据范围

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1K10181 \leq K \leq 10^{18}
  • 1ai1091 \leq a_i \leq 10^9
  • 所有aia_i互不相同
  • 输入中的所有值都是整数

来源

  • AtCoder ABC208C