100 atcoder#ABC208C. [ABC208C] Fair Candy Distribution

[ABC208C] Fair Candy Distribution

题目描述

高橋王国には N N 人の国民がいます。 全ての国民には国民番号が割り振られており、 i i 人目の国民の国民番号は ai a_i です。ここで、ai a_i は互いに異なります。

高橋君は K K 個のお菓子を持っています。高橋君は次のルールに従って、持っているお菓子が無くなるまで国民にお菓子を配ることにしました。

  • 持っているお菓子が N N 個以上ある場合、全員に 1 1 個ずつお菓子を配る。
  • そうでない場合、その時点で高橋くんが持っているお菓子の個数を K K' として、国民番号が小さい方から K K' 人に 1 1 個ずつ配る。より厳密には、ai a_i の値が小さい方から K K' 人を選び、選んだ人に 1 1 個ずつお菓子を配る。

全てのお菓子を配り終えたとき、i i 人目の国民は何個のお菓子を持っていますか?

输入格式

入力は以下の形式で標準入力から与えられる。

N N K K a1 a_1 a2 a_2 \ldots aN a_N

输出格式

N N 行出力せよ。i i 行目には i i 人目の国民がもらったお菓子の個数を出力せよ。

题目大意

问题陈述 高桥王国有 N个公民。每个公民都有一个国民身份证号码;第 i个公民的身份证号码是 a i ​ 。这里,所有的 a i ​ 都是成对不同的。

高桥有 K块糖果。他决定用下面的方法把这些糖果分给市民,直到分完为止。

当他有 N块或更多时,给每个公民发一块。

否则,设 K ′ 为他目前拥有的棋子数,然后向拥有 K ′ 个最小 ID 的公民每人发放一枚棋子。

当所有的棋子都发完之后,第 i 位公民有多少枚棋子?

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  N  2 × 105 1\ \leq\ N\ \leq\ 2\ \times\ 10^5
  • 1  K  1018 1\ \leq\ K\ \leq\ 10^{18}
  • 1  ai  109 1\ \leq\ a_i\ \leq\ 10^9
  • ai a_i は互いに異なる。
  • 入力は全て整数である。

Sample Explanation 1

高橋君はお菓子を次の手順で配ります。 - 全員に 1 1 個ずつお菓子を配り、高橋君の持っているお菓子は 5 5 個になる。 - 全員に 1 1 個ずつお菓子を配り、高橋君の持っているお菓子は 3 3 個になる。 - 全員に 1 1 個ずつお菓子を配り、高橋君の持っているお菓子は 1 1 個になる。 - 1 1 人目の国民に 1 1 個お菓子を配り、高橋君の持っているお菓子は無くなる。 最終的に 1 1 人目の国民は 4 4 個、2 2 人目の国民は 3 3 個のお菓子を手に入れることができます。

Sample Explanation 2

国民が 1 1 人しかいないので、高橋君は全てのお菓子を 1 1 人目の国民に配ることになります。