EduBrick

K. Медиана: большее из двух средних

2000 мс · 256 МБ · всё или ничего

Как классная задача про медиану потока, но при чётном количестве чисел выведите большее из двух средних.

Меняется один инвариант: теперь при равных размерах ответ берётся из правой кучи, а не из левой. Проще всего перевернуть правило выравнивания - держать правую кучу не меньше левой:

∣правая∣=∣левая∣ или ∣левая∣+1\lvert \text{правая} \rvert = \lvert \text{левая} \rvert \ \text{или}\ \lvert \text{левая} \rvert + 1

и брать ответ из корня правой (min-)кучи.

Задача выглядит косметической, и в этом её польза: если ваше классное решение было написано «как получилось», а не по инварианту, переделать его будет мучительно. Если по инварианту - изменится одна строка.

Проверьте на потоке 1,21, 2: после первого числа ответ 1, после второго - 2.

Формат ввода

В первой строке - число nn (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5).

Во второй - nn целых чисел, по модулю не превосходящих 10910^9.

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

Выведите nn чисел - медиану после каждого пришедшего.

Примеры

ввод
2
1 2
вывод
1 2
ввод
5
5 4 3 2 1
вывод
5 5 4 4 3
Войдите, чтобы отправлять решения.