Cod sursa(job #2576043)

Utilizator PredescuSebastianIonPredescu Sebastian Ion PredescuSebastianIon Data 6 martie 2020 16:58:40
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("heapuri.in");
ofstream g("heapuri.out");
int n,i,cerinta,x,poz;
bool marker[200002];
priority_queue <pair <int, int>,vector <pair<int,int>>,greater<pair<int,int>>>a;
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>cerinta;
        if(cerinta==1)
        {
            f>>x;
            poz++;
            a.push({x,poz});
        }
        else if(cerinta==2)
        {
            f>>x;
            marker[x]=true;
        }
        else
        {
            while(!a.empty() && marker[a.top().second])
                a.pop();
            g<<a.top().first<<'\n';
        }
    }
    return 0;
}