AT_abc208_c [ABC208C] Fair Candy Distribution

题目描述

高桥王国有 $N$ 名国民。每位国民都有一个国民编号,第 $i$ 位国民的编号为 $a_i$。这里,$a_i$ 互不相同。 高桥君手上有 $K$ 个糖果。他决定按照以下规则分发糖果,直到糖果分完为止: - 如果手上的糖果数量不少于 $N$,则每人分发 $1$ 个糖果。 - 否则,设此时高桥君手上的糖果数量为 $K'$,则从国民编号最小的 $K'$ 个人中,每人分发 $1$ 个糖果。更严格地说,从 $a_i$ 值较小的 $K'$ 个人中选出,每人分发 $1$ 个糖果。 请问,当所有糖果分发完毕后,第 $i$ 位国民最终获得了多少个糖果?

输入格式

输入以如下格式从标准输入读入。 > $N$ $K$ $a_1$ $a_2$ $\ldots$ $a_N$

输出格式

输出 $N$ 行。第 $i$ 行输出第 $i$ 位国民获得的糖果数量。

说明/提示

## 限制条件 - $1 \leq N \leq 2 \times 10^5$ - $1 \leq K \leq 10^{18}$ - $1 \leq a_i \leq 10^9$ - $a_i$ 互不相同。 - 输入均为整数。 ## 样例解释 1 高桥君按照如下步骤分发糖果: - 每人分发 $1$ 个糖果后,手上剩余 $5$ 个糖果。 - 每人再分发 $1$ 个糖果后,手上剩余 $3$ 个糖果。 - 每人再分发 $1$ 个糖果后,手上剩余 $1$ 个糖果。 - 给编号最小的第 $1$ 位国民分发 $1$ 个糖果后,糖果分完。 最终,第 $1$ 位国民获得 $4$ 个糖果,第 $2$ 位国民获得 $3$ 个糖果。 ## 样例解释 2 由于只有 $1$ 位国民,高桥君会把所有糖果都分给第 $1$ 位国民。 由 ChatGPT 4.1 翻译