Pagini recente » Cod sursa (job #1595767) | Cod sursa (job #454798) | Monitorul de evaluare | Cod sursa (job #431749) | Cod sursa (job #2576043)
#include <bits/stdc++.h>
using namespace std;
ifstream f("heapuri.in");
ofstream g("heapuri.out");
int n,i,cerinta,x,poz;
bool marker[200002];
priority_queue <pair <int, int>,vector <pair<int,int>>,greater<pair<int,int>>>a;
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>cerinta;
if(cerinta==1)
{
f>>x;
poz++;
a.push({x,poz});
}
else if(cerinta==2)
{
f>>x;
marker[x]=true;
}
else
{
while(!a.empty() && marker[a.top().second])
a.pop();
g<<a.top().first<<'\n';
}
}
return 0;
}