eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Тренировки Хусейна

Тренировки Хусейна

Хусейн хочет потренироваться перед очередным важным соревнованием по программированию. В течение первого дня его тренировок он хочет решить ровно $1$ задачу, в течение второго дня --- ровно $2$ задачи, в течение третьего дня --- ровно $3$ задачи, и так далее. В течение $k$ -го дня он хочет решить ровно $k$ задач. У Хусейна есть список из $n$ контестов, $i$-й контест состоит из $a_i$ задач. В течение каждого дня Хусейн будет выбирать ровно один из контестов, который он еще не решал до этого, и решать его. Он решает ровно $k$ задач из этого контеста. Остальные задачи исключаются из контеста. Если контестов, состоящих из не менее $k$ задач, которые Хусейн еще не решал, в течение $k$-го дня нет, то Хусейн прекращает тренироваться. Как много дней Хусейн сможет тренироваться, если будет выбирать контесты оптимально? \InputFile Первая строка содержит одно целое число $n~(1 \le n \le 2 \cdot 10^5)$ --- количество контестов. Вторая строка содержит $n$ целых чисел $a_1, a_2, ..., a_n~(1 \le a_i \le 2 \cdot 10^5)$ --- количество задач в $i$-м контесте. \OutputFile Выведите одно целое число --- максимальное количество дней, которое Хусейн сможет тренироваться, если он будет выбирать контесты оптимально.
Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
5
5 1 2 2 1
Вихідні дані #1
3
Вхідні дані #2
5
1 1 1 1 1
Вихідні дані #2
1