Pagini recente » Cod sursa (job #1382269) | Cod sursa (job #983003) | Cod sursa (job #1543200) | Cod sursa (job #2647101) | Cod sursa (job #2735129)
#include <iostream>
#include <fstream>
#include <queue>
#define N 200001
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
typedef pair <int, int> pii;
int n;
priority_queue <pii, vector <pii>, greater <pii>> heap;
bool f[N];
int main()
{
int op, aux;
int index = 0;
fin >> n;
for (int i = 0; i < n; ++i)
{
fin >> op;
if (op == 1)
{
fin >> aux;
heap.push(make_pair(aux, ++index));
f[index] = true;
}
if (op == 2)
{
fin >> aux;
f[aux] = false;
}
if (op == 3)
{
while (!f[heap.top().second])
heap.pop();
fout << heap.top().first << '\n';
}
}
fin.close();
fout.close();
return 0;
}