Cod sursa(job #2629040)

Utilizator proflaurianPanaete Adrian proflaurian Data 18 iunie 2020 18:14:13
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("heapuri.in");
ofstream g("heapuri.out");
const int N = 100010;
int n,m,op,x,lg;
bitset<N> valid;
priority_queue<pair<int,int>> pq;
int main()
{
    f>>n;
    for(int i=1;i<=n;i++)
    {
        f>>op;
        if(op==1)
        {
            f>>x;
            m++;
            valid[m]=1;
            pq.push(make_pair(-x,m));
        }
        else
            if(op==2)
            {

                f>>x;
                valid[x]=0;

            }
            else
            {
                while(!valid[pq.top().second])
                    pq.pop();
                g<<-pq.top().first<<'\n';
            }
    }
    return 0;
}