fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. signed main(){
  4. int Q;
  5. cin >> Q;
  6. queue<int> q;
  7. multiset<int> st;
  8. while(Q--){
  9. int ty;
  10. cin >> ty;
  11. if(ty == 1){
  12. int num;
  13. cin >> num;
  14. q.push(num);
  15. }else if(ty == 2){
  16. if(!st.empty()){
  17. cout << *st.begin() << endl;
  18. st.erase(st.begin());
  19. }else{
  20. cout << q.front() << endl;
  21. q.pop();
  22. }
  23.  
  24. }else{
  25. while(!q.empty()){
  26. st.insert(q.front());
  27. q.pop();
  28. }
  29.  
  30. }
  31. }
  32.  
  33. }
Success #stdin #stdout 0.01s 5288KB
stdin
9
1 5
1 5
1 3
2
3
2
1 6
3
2
stdout
5
3
5