Untitled

 avatar
unknown
c_cpp
18 days ago
1.0 kB
8
Indexable
#include <bits/stdc++.h>
using namespace std;

void MO3TAZOLEQ() {
#ifdef MOATAZOLEQ
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
}

#define ll long long

void solve() {
    int n;
    cin >> n;
    queue<int> q;
    priority_queue<int, vector<int>, greater<> > pq;
    while (n--) {
        int tp;
        cin >> tp;
        if (tp == 1) {
            int x;
            cin >> x;
            q.push(x);
        } else if (tp == 2) {
            if (pq.empty()) {
                cout << q.front() << '\n';
                q.pop();
            } else {
                cout << pq.top() << '\n';
                pq.pop();
            }
        } else {
            while (!q.empty()) {
                pq.push(q.front());
                q.pop();
            }
        }
    }
}

int main() {
    MO3TAZOLEQ();
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int t = 1;
    // cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}
Editor is loading...
Leave a Comment