Pagini recente » Cod sursa (job #53174) | Cod sursa (job #2989015) | Cod sursa (job #1759200) | Cod sursa (job #2556008) | Cod sursa (job #2720987)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 200010;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
int n, q, val, k, ind, deleted[NMAX];
priority_queue<pair<int, int>> heap;
int main()
{
fin >> n;
for(int i = 1; i <= n; i++)
{
fin >> q;
if(q==1)
{
fin >> val;
k++;
//pair<int, int> p;
//p.first = -val;
//p.second = k;
//heap.push(p);
heap.push(make_pair(-val, k));
}
else if (q == 2)
{
fin >> ind;
deleted[ind] = 1;
}
else
{
while(deleted[heap.top().second])
heap.pop();
fout << -heap.top().first << "\n";
}
}
return 0;
}