Cod sursa(job #2775954)

Utilizator francescom_481francesco martinut francescom_481 Data 18 septembrie 2021 11:57:40
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <vector>
#include <string>
#include <queue>

using namespace std;

ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
#define cin fin
#define cout fout

priority_queue< pair<int,int> > c;
int n, x, cerinta, nr, el[100005];

int main() {
    cin >> n;
    for(; n ; n--)
    {
        cin >> cerinta;
        if(cerinta == 3)
        {
            cout << -c.top().first << "\n";
        }
        else if(cerinta == 1)
        {
            cin >> x;
            c.push({-x,++nr});
        }
        else
        {
            cin >> x;
            el[x] = 1;
        }
        while(!c.empty()  &&  el[c.top().second])c.pop();
    }
}