Cod sursa(job #1074732)

Utilizator dan.ghitaDan Ghita dan.ghita Data 7 ianuarie 2014 21:48:58
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <unordered_map>
#include <queue>
using namespace std;
ifstream f("heapuri.in");
ofstream g("heapuri.out");
unordered_map<int, int> h;
int n, m, x, t, del[200002];
priority_queue<int> q;

void out(){
while(h[-q.top()]==0) q.pop();
g<<-q.top()<<'\n';
}

int main()
{
    f>>m;
    int i=0;
    while(m--)
    {
        f>>t;
        if(t==1) f>>x, q.push(-x), del[++i] = x, h[x]=1;
        if(t==2) f>>x, h[del[x]]=0;
        if(t==3) out();
    }
    return 0;
}