Codeforces Round 773 (Div. 2) |
---|
Закончено |
Стас — воспитатель в детском саду. Под его попечением находятся $$$n$$$ детей. Он решил собрать из некоторых из них команду для «brawl:go 2».
У Стаса есть $$$n$$$ улучшений, $$$i$$$-е из которых имеет тип $$$a_i$$$. Сила ребенка равняется количеству различных типов улучшений у него.
Если Стас создает команду размера $$$k$$$, он распределит все $$$n$$$ улучшений между $$$k$$$ детьми так, чтобы у каждого из $$$k$$$ детей было хотя бы одно улучшение, и каждое улучшение он выдал ровно одному ребенку.
Для каждого целого $$$k$$$ от $$$1$$$ до $$$n$$$ найдите минимальную сумму сил детей в команде размера $$$k$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится единственное целое число $$$t$$$ ($$$1 \le t \le 3 \cdot 10^5$$$) — количество наборов входных данных. Далее следуют описания наборов входных данных.
Первая строка описания каждого набора входных данных содержит единственное целое число $$$n$$$ ($$$1 \le n \le 3 \cdot 10^5$$$) — количество улучшений у Стаса.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — типы улучшений, которые есть у Стаса.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$3 \cdot 10^5$$$.
Для каждого набора входных данных выведите $$$n$$$ чисел, где $$$k$$$-е число это минимальная суммарная сила команды размера $$$k$$$.
231 1 265 1 2 2 2 4
2 2 3 4 4 4 4 5 6
Для первого набора входных данных можно раздавать улучшения так, чтобы суммарная сила была минимальна:
Для второго набора входных данных можно раздавать улучшения так, чтобы суммарная сила была минимальна:
Название |
---|