EduBrick

G. Очередь на минимум

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

Та же приоритетная очередь, что в классе, но извлекается минимум, а не максимум.

Правила разрешения неоднозначности те же: просеивание не двигает элемент при равенстве, при двух равных детях выбирается левый.

Формат ответов не меняется: на извлечение - индекс, куда уехал бывший последний элемент (или 0, если элемент был единственным), и само значение; на добавление - индекс или −1-1 при переполнении.

Всё, что нужно поменять, - два знака сравнения. Но менять надо оба и в правильную сторону: в просеивании вниз выбирается наименьший из детей, а условие обмена становится a[best] < a[i].

Проверьте себя на очереди вместимости 2 и запросах «добавить 5», «добавить 5»: второй должен вернуть индекс 2, а не поменять элементы местами.

Формат ввода

В первой строке - вместимость NN и число запросов MM (1≤N,M≤1051 \le N, M \le 10^5).

Далее MM строк. Тип 1 - извлечь минимум. Тип 2 - добавить число из [−109;109][-10^9; 10^9].

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

Ответ на каждый запрос по правилам выше.

После всех запросов - строка с кучей в конечном состоянии.

Примеры

ввод
2 2
2 5
2 5
вывод
1
2
5 5
ввод
1 1
1
вывод
-1

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