atcoder#ABC143F. [ABC143F] Distinct Numbers

[ABC143F] Distinct Numbers

配点 : 600600

問題文

高橋くんは NN 枚のカードを持っています。 ii 番目のカードには整数 AiA_i が書かれています。

高橋くんは整数 KK を選びます。そして、以下の操作を何度か繰り返します。

  • 書かれている整数が互いに異なるちょうど KK 枚のカードを選び、食べる(食べたカードは消滅する)

K=1,2,,NK = 1,2, \ldots, N のそれぞれに対して、操作を行える最大の回数を求めてください。

制約

  • 1N3×1051 \le N \le 3 \times 10^5
  • 1AiN1 \le A_i \le N
  • 入力はすべて整数

入力

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

NN

A1A_1 A2A_2 \ldots ANA_N

出力

NN 個の整数を出力せよ。 t(1tN)t (1 \le t \le N) 個目には、K=tK=t のときの答えを出力せよ。

3
2 1 2
3
1
0

K=1K = 1 のとき、操作を以下のように行うことができます。

  • 11 枚目のカードを選び、食べる
  • 22 枚目のカードを選び、食べる
  • 33 枚目のカードを選び、食べる

また、K=2K = 2 のとき、操作を以下のように行うことができます。

  • 11 枚目のカードと 22 枚目のカードを選び、食べる

K=3K = 3 のときは、操作を行うことができません。11 枚目のカードと 33 枚目のカードを同時に選べないことに注意してください。

5
1 2 3 4 5
5
2
1
1
1
4
1 3 3 3
4
1
0
0