17. Кодмастер

Не решаласьЛёгкая

Анонимный программист под псевдонимом Кодмастер уже не первый год поражает IT-индустрию своими инновационными проектами с открытым исходным кодом. Эксперты по разработке программного обеспечения пытаются разгадать секрет популярности Кодмастера. Чтобы приблизиться к ответу, к задаче привлекли вас. Кодмастер создаёт программы, использующие различные алгоритмы, и каждый алгоритм имеет свою сложность. Эксперты считают, что алгоритмы с линейной сложностью (O(n)O(n)) создают особую эффективность в программах Кодмастера. Вам нужно определить при помощи «индекса линейной сложности», насколько часто алгоритмы с линейной сложностью встречаются в проектах программиста.

Ваша задача: на основе набора a1,a2,a3,...,ana_1,a_2,a_3,...,a_n (число алгоритмов с линейной сложностью в nn проектах Кодмастера) рассчитать «индекс линейной сложности», то есть такое максимальное число проектов k, что в каждом из них как минимум k2k^2 алгоритмов с линейной сложностью. Помогите сделать это максимально быстро.

Например: пусть в 55 проектах 1,0,4,5,1001,0,4,5,100 алгоритмов с линейной сложностью. Тогда индекс равен 22, так как есть хотя бы 22 значения aia_i, которые больше, чем 222^2 (4,5,10022)(4,5,100\geq2^2), при этом индекс меньше 3, так как только 1 значение aia_{i} больше 323^2 (10032)(100\geq3^2).

Формат ввода

В первой строке вводится число nn (1n107)(1\leq n\leq 10^7).

Во второй строке вводится набор целых чисел aia_{i} (0ai105)(0 \leq a_{i} \leq 10^5) через пробел.

Формат вывода

Необходимо вывести число kk — «индекс линейной сложности».

Ограничения

Ограничение времени

10 с

Ограничение памяти

2 ГБ

Пример 1

Ввод
5
1 0 4 5 100
Вывод
2

Пример 2

Ввод
3
0 0 0
Вывод
0

Пример 3

Ввод
4
25 50 100 75
Вывод
4

Теги

Нужно войти, чтобы отправить решение.Войти