Advertisement
Derga

Untitled

Aug 22nd, 2023
495
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.63 KB | None | 0 0
  1. INF = 10 ** 9   # kind of infinity for this task
  2.  
  3. class MinStack:
  4.     def __init__(self):
  5.         self.stack = list()
  6.  
  7.     def get_min(self):
  8.         if len(self.stack) == 0:
  9.             return INF
  10.         else:
  11.             return self.stack[-1][1]
  12.  
  13.     def push(self, value):
  14.         self.stack.append((value, min(value, self.get_min())))
  15.  
  16.     def pop(self):
  17.         self.stack.pop()
  18.  
  19.  
  20. q = int(input())
  21. stack = MinStack()
  22.  
  23. for i in range(q):
  24.     query = input().split()
  25.     if query[0] == 'push':
  26.         stack.push(int(query[-1]))
  27.     elif query[0] == 'pop':
  28.         stack.pop()
  29.     else:
  30.         print(stack.get_min())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement