Контест Middle Дженерики обновлено
Обобщённый стек с минимумом за O(1)
Условие
Реализуйте обобщённый стек MinStack<T> where T : IComparable<T>, который за O(1) отдаёт минимум. Проверим его на целых числах.
Команды: push x, pop (вывести снятый элемент), top (вывести вершину), min (вывести минимум). Если стек пуст, для pop, top и min выведите EMPTY.
Ввод: q (1 ≤ q ≤ 2·10⁴), затем q команд, |x| ≤ 10⁹.
Вывод: результаты pop, top, min по строке.
Пример
7
push 3
push 1
push 2
min
pop
pop
min
1
2
1
3
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.