Клас 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%