Клас MinStack#9035

Клас MinStack

7 секунд
128 мегабайтів
Легка

Реалізуйте структуру даних стек, яка підтримує такі операції:

Напишіть код відповідно до наступного інтерфейсу:

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

Loading
Loading