Pagini recente » Cod sursa (job #1210665) | Cod sursa (job #1607501) | Cod sursa (job #350396) | Cod sursa (job #2500982) | Cod sursa (job #1510515)
#include<iostream>
#include<fstream>
#include<queue>
using namespace std;
struct heap
{
int x,poz;
heap(int x1,int poz1)
{
x=x1;
poz=poz1;
}
bool operator <(const heap &aux) const
{
return x>aux.x;
}
};
priority_queue<heap> h;
int nr;
char vaz[200005];
int main()
{
ifstream si;
si.open("heapuri.in");
ofstream so;
so.open("heapuri.out");
int n;
si>>n;
int i,a,b;
for(i=0;i<n;++i)
{
si>>a;
if(a==1)
{
si>>b;
nr++;
h.push(heap(b,nr));
}
else if(a==2)
{
si>>b;
vaz[b]=1;
}
else
{
while(vaz[h.top().poz]) h.pop();
cout<<h.top().x<<'\n';;
}
}
}