Pagini recente » Cod sursa (job #2650417) | Cod sursa (job #1591326) | 17 | Cod sursa (job #2080978) | Cod sursa (job #2275347)
#include <cstdio>
#include <queue>
using namespace std;
priority_queue < pair<int,int>, vector<pair<int, int>>, greater<pair<int,int>> > h;
int n, cnt, x, used[200050], c;
int main()
{
freopen ("heapuri.in", "r", stdin);
freopen ("heapuri.out", "w", stdout);
scanf ("%d", &n);
for ( int i=1; i<=n; i++ )
{
scanf ("%d", &c);
if (c==1)
{
scanf ("%d", &x);
cnt++;
h.push ({x, cnt});
}
else if (c==2)
{
scanf ("%d", &x);
used[x]=1;
}
else if (c==3)
{
while (!h.empty() && used[h.top().second])
h.pop();
printf ("%d\n", h.top().first);
}
}
return 0;
}