Cod sursa(job #2642389)

Utilizator OctavianVasileVasileOctavian OctavianVasile Data 15 august 2020 01:12:15
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("heapuri.in");
ofstream fout ("heapuri.out");
#define N_MAX 200000
int v [N_MAX + 3], viz [99999999];
int nr, n, type, X;
priority_queue <pair <int, int>, vector <pair <int, int> >, greater <pair <int, int> > >pq;
int main (){
    fin >> n;
    for (int i = 1; i <= n; i ++){
        fin >> type;
        if (type == 1 || type == 2)
            fin >> X;
        if(type == 1){
            v [++ nr] = X;
            pq.push (make_pair (X, nr));
        }
        else if (type == 2)
            viz [X] = 1;
        else if (type == 3){
            while (viz [pq.top ().second] == 1)pq.pop ();
            fout << pq.top ().first << '\n';
        }
    }
    return 0;
}