1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
   | #include <iostream>
  using namespace std;
  const int N = 100010;
  int stk[N], k;
  void push(int x) {     stk[++k] = x; }
  string ifempty() {     if (k <= 0)         return "YES";     else         return "NO"; }
  void pop() {     k--; }
  int query() {     return stk[k]; }
  int main() {     int m;     cin >> m;     string op;     while (m--)     {         cin >> op;         if (op == "push")         {             int x;             cin >> x;             push(x);         }         else if (op == "pop")         {             pop();         }         else if (op == "empty")         {             cout << ifempty() << endl;         }         else             cout << query() << endl;     }     return 0; }
   |