Pagini recente » Cod sursa (job #1390233) | Cod sursa (job #1839398)
#include <fstream>
#include <map>
#include <queue>
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
int mom[200001],vf,ult;
map <int, int> bl;
map <int, int >::iterator it;
priority_queue<int> v;
int main()
{
int n,i,op,x;
fin>>n;
for(i=1;i<=n;i++)
{
fin>>op;
if(op==1)
{
fin>>x;
v.push(-x);
mom[++vf]=x;
}
else
{
if(op==2)
{
fin>>x;
bl[mom[x]]=1;
}
else
{
it=bl.find(-v.top());
while(it!=bl.end())
{
bl.erase(it);
v.pop();
it=bl.find(-v.top());
}
fout<<-v.top()<<'\n';
}
}
}
return 0;
}