Cod sursa(job #1184071)

Utilizator alevasluialeHuhurez Marius alevasluiale Data 11 mai 2014 00:27:09
Problema Heapuri Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <queue>
#include <vector>
#include <bitset>
using namespace std;
struct nr
{
    int x,y;
};
struct comp
{
bool operator() (const nr &a, const nr &b)
{return a.x>b.x;}
};
priority_queue <nr,vector<nr>, comp> H;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
bitset <200001> v;
int main()
{
    int n,i,ok,k,cuc=1;
    fin>>n;
    nr u;
    for(i=1;i<=n;i++)
    {
        fin>>ok;
        if(ok==3)
        {
            while(v[H.top().y]) H.pop();
            fout<<H.top().x<<"\n";
        }
        else
        {
            fin>>k;
            if(ok==1) u.x=k,u.y=cuc,H.push(u);
            else v[k]=1;
            cuc++;
        }
    }
}