fork download
  1. /*
  2.  * Author : Mostafaabbas1
  3. */
  4. #include<bits/stdc++.h>
  5. #define FAST() ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  6. #define loop(n) for (int i = 0; i < n; i++)
  7. #define loop2(n) for (int j = 0; j < n; j++)
  8. #define fr(i, a, n) for(int i = a; i <= n; i++)
  9. #define pb push_back
  10. #define all(v) v.begin(),v.end()
  11. #define sz(v) ((int) ((v).size()))
  12. #define in(v,n) for(int i=0 ;i<n;i++) cin>>v[i];
  13. #define out(v,n) for(int i=0;i<n;i++) cout << v[i] <<" ";
  14. #define el cout<<endl;
  15. #define pi 3.14159265359
  16. typedef long long ll;
  17. //typedef vector<int> vi;
  18. using namespace std;
  19.  
  20. bool prec (int x, int y)
  21. {
  22. return x>y;
  23. }
  24. //LCM(a,b) = (a*b) / gcd(a,b)
  25. int gcd(int a,int b);
  26. ll fastpower(ll b,ll p);
  27. void selection_Sort(int arr[], int n);
  28. void Bubble_sort(int arr[], int n);
  29. bool isPrime(int n);
  30. int maxElement(stack<int> x )
  31. {
  32. int mx=0;
  33. while(!x.empty())
  34. {
  35. if(x.top() > mx)
  36. mx = x.top();
  37. x.pop();
  38. }
  39. return mx;
  40. }
  41. void solve()
  42. {
  43. int n,e,q;
  44. cin>>n;
  45. stack<int> s;
  46. map<int,int,greater<int> > m;
  47. while(n--)
  48. {
  49. cin>>q;
  50. if(q==1)
  51. {
  52. cin>>e;
  53. s.push(e);
  54. m[e] = 1;
  55. }
  56. else if(q==2)
  57. {
  58. if(!s.empty())
  59. {
  60. m[s.top()] =0;
  61. s.pop();
  62. }
  63. }
  64. else if(q == 3)
  65. {
  66. for(auto c : m)
  67. {
  68. if(c.second ==1 )
  69. {
  70. cout<<c.first<<endl;
  71. break;
  72. }
  73. }
  74. }
  75. }
  76. }
  77. int main()
  78. {
  79. FAST()
  80. int t;
  81. // cin>>t;
  82. // while(t--)
  83. solve();
  84. return 0;
  85. }
  86.  
  87. // *********************************** Functions *************************************************//
  88.  
Success #stdin #stdout 0s 5300KB
stdin
1
2
10
42
11
stdout
Standard output is empty