Pagini recente » Cod sursa (job #1478177) | Cod sursa (job #998819) | Cod sursa (job #2975555) | Cod sursa (job #1780365) | Cod sursa (job #3163586)
#include <fstream>
#include <queue>
#define MAX 200000
using namespace std;
ifstream cin ("heapuri.in");
ofstream cout ("heapuri.out");
priority_queue <int, vector <int>, greater <int>> pqMin, pqElim;
int pos[MAX + 10];
int main()
{
int n, added = 0;
cin >> n;
for (int i = 1; i <= n; i++)
{
int type;
cin >> type;
if (type == 3)
{
while (!pqElim.empty() && pqMin.top() == pqElim.top())
{
pqMin.pop();
pqElim.pop();
}
cout << pqMin.top() << '\n';
}
else
{
int val;
cin >> val;
if (type == 1)
{
pqMin.push(val);
added++;
pos[added] = val;
}
else
pqElim.push(pos[val]);
}
}
return 0;
}