Codeforces Round 643 (Div. 2) |
---|
Закончено |
Отряд юных следопытов отправился в учебную экспедицию навстречу своим первым приключениям. И возглавляет их старший следопыт Рассел. Вот герои зашли в лес, разбили лагерь и дальше решили разделиться на группы, чтобы исследовать как можно больше интересных мест. Рассел должен был выбрать состав групп, но столкнулся с одной проблемой...
Многие юные следопыты неопытны, и отправлять их маленькими группами — не всегда хорошая идея. Даже сам Рассел недавно стал старшим следопытом и нечасто бывал в экспедициях. Каждый следопыт характеризуется своей неопытностью — целым положительным числом $$$e_i$$$. Рассел решил, что юный следопыт с неопытностью $$$e$$$ может идти лишь в группе, количество следопытов в которой не меньше $$$e$$$.
Теперь задача Рассела — определить, какое наибольшее число групп следопытов он сможет организовать. При этом может получиться, что некоторые следопыты не войдут в состав ни одной группы, это не страшно, ведь и в лагере для них найдется работа. Рассел очень переживает за успех экспедиции, и потому попросил вас помочь ему.
В первой строке записано число $$$T$$$ ($$$1 \leq T \leq 2 \cdot 10^5$$$) — количество независимых тестовых случаев. В следующих $$$2T$$$ строках следует описание тестовых случаев.
В первой строке описания каждого теста задано целое число юных следопытов $$$N$$$ ($$$1 \leq N \leq 2 \cdot 10^5$$$).
В следующей строке записаны $$$N$$$ целых чисел $$$e_1, e_2, \ldots, e_N$$$ ($$$1 \leq e_i \leq N$$$), где $$$e_i$$$ — неопытность $$$i$$$-го следопыта.
Гарантируется, что сумма $$$N$$$ по всем тестовым случаям не превосходит $$$3 \cdot 10^5$$$.
Выведите $$$T$$$ чисел, каждое на отдельной строке.
В $$$i$$$-й строке выведите наибольшее число групп, которое можно организовать в $$$i$$$-м тестовом случае.
2 3 1 1 1 5 2 3 1 2 2
3 2
В первом примере можно сформировать три группы, в каждой из которых будет один следопыт. Это возможно, так как неопытность всех трех следопытов равна $$$1$$$, что не меньше, чем размер их групп.
Во втором примере можно сформировать две группы. В первой группе окажутся следопыты с неопытностью $$$1$$$, $$$2$$$ и $$$3$$$, а во второй группе — два следопыта с неопытностью $$$2$$$.
Этот способ — не единственный возможный. Можно, например, сформировать одну группу из трех следопытов с неопытностью $$$2$$$, а также еще одну группу, в которой будет всего один следопыт с неопытностью $$$1$$$. При таком разбиении на группы следопыт с неопытностью $$$3$$$ не войдет в состав ни одной группы.
Название |
---|