EduBrick

I. K-е наименьшее в потоке

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

Числа приходят по одному. После каждого выведите kk-е наименьшее среди уже пришедших или −1-1, если чисел меньше kk.

Зеркало классной задачи: держим kk наименьших в max-куче, её корень и есть ответ. Пришло число меньше корня - выбрасываем корень и добавляем новое.

Правило простое и стоит его запомнить: чтобы держать kk наименьших, нужна куча максимумов; чтобы держать kk наибольших - куча минимумов. Куча всегда «смотрит» на худшего из хранимых, потому что именно его предстоит вытеснить.

Одинаковые числа считаются разными элементами.

Формат ввода

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

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

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

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

Примеры

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