Cod sursa(job #2911788)

Utilizator _andrei4567Stan Andrei _andrei4567 Data 2 iulie 2022 02:28:06
Problema Heapuri Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <queue>
#include <bitset>
#include <vector>
#define int long long
#pragma optimize ("Ofast")

using namespace std;

ifstream cin ("heapuri.in");
ofstream cout ("heapuri.out");

const int N = 2e5;

bitset <N + 1> viz;

vector <int> v;

priority_queue <int, vector<int>, greater<int> > q;

int n, op, x;

signed main()
{
    for (cin >> n; n; --n)
    {
        cin >> op;
        if (op == 3)
        {
            while (!viz[q.top()])q.pop();
            cout << q.top() << '\n';
        }
        else if (op == 1)
            cin >> x, q.push(x), viz[x] = 1, v.push_back(x);
        else
            cin >> x, viz[v[x - 1]] = 0;

    }
    return 0;
}