Cod sursa(job #2918312)

Utilizator db_123Balaban David db_123 Data 11 august 2022 05:43:14
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <queue>
#include <bitset>
using namespace std;

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

struct Info {
    int nr;
    int cnt;
    bool operator<(Info a) const {
        return a.nr<nr;
    }
};

int t;
int a,b;
priority_queue<Info> q;
bitset<(int)2e5+1> fr;

void read() {
    cin>>t;
}

void solve() {
    int cnt=1;
    for(int x=1;x<=t;x++) {
        cin>>a;
        if(a==1) {
            cin>>b;
            q.push({b,cnt});
            cnt++;
        }
        else if(a==2) {
            cin>>b;
            fr[b]=1;
        }
        else {
            while(fr[q.top().cnt]==1) {
                q.pop();
            }
            cout<<q.top().nr<<"\n";
        }
    }
}

int main() {
 
    read();
    solve();   
    return 0;
}