Класс MinStack
Простая
Ограничение по времени выполнения 7 секунд
Ограничение по использованию памяти 128 мегабайт
Реализуйте структуру данных стек, которая поддерживает следующие операции:
push n - Занести в стек число n.
pop - Удалить число из стека. Выведите удаленный элемент.
top - Выведите число на вершине стека, не удаляя его.
GetMin - Выведите наименьший элемент находящийся на данный момент в стеке.
size - Выведите размер стека.
Напишите код в соответствии со следующим интерфейсом:
class MyStack // C++ { private: stack<int> s, mn; // s - обычный стек, mn - стек минимумов public: void push(int x); // Занести x в стек int pop(void); // Удалить и вернуть верхний элемент стека int top(void); // Вернуть верхний элемент стека не удаляя его int GetMin(void); // Вернуть наименьший элемент в стеке int GetSize(void); // Вернуть размер стека }
class MyStack // Java { private stack<Integer> s, mn; // s - обычный стек, mn - стек минимумов MyStack() // Конструктор public void push(int x); // Занести x в стек public int pop(void); // Удалить и вернуть верхний элемент стека public int top(void); // Вернуть верхний элемент стека не удаляя его public int GetMin(void); // Вернуть наименьший элемент в стеке public int GetSize(void); // Вернуть размер стека };
Входные данные
Каждая строка содержит одну команду.
Выходные данные
Для каждой команды вывести ответ в отдельной строке.
Примеры
Ввод #1
Ответ #1
Отправки 955
Коэффициент принятия 18 %