EduBrick

H. Стек с минимумом

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

Реализуйте стек, который умеет мгновенно сообщать свой минимум.

  • push n — положить число; вывести ok;
  • pop — снять верхний элемент и вывести его;
  • min — вывести наименьшее из чисел в стеке;
  • size — количество элементов; exit — вывести bye.

Каждая команда должна работать за константу: пересматривать весь стек при каждом min нельзя.

Формат ввода

Команды, по одной на строке. Последняя команда — exit. Не больше 10510^5 команд, числа по модулю не больше 10910^9. pop и min вызываются только при непустом стеке.

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

Протокол работы, по одной строке на команду.

Примеры

ввод
push 3
push 1
min
pop
min
size
exit
вывод
ok
ok
1
1
3
1
bye
Войдите, чтобы отправлять решения.