Pagini recente » Cod sursa (job #2026583) | Cod sursa (job #888603) | Cod sursa (job #2726671) | Cod sursa (job #1263637) | Cod sursa (job #2399050)
#include <bits/stdc++.h>
using namespace std;
ifstream in("heapuri.in");
ofstream out("heapuri.out");
priority_queue <int, vector <int>, greater <int>> q;
int f[200001], k, v[200001];
int main()
{
int n, c, x;
in >> n;
for (int i = 1; i <= n; ++i)
{
in >> c;
if (c == 1)
{
in >> x;
q.push(x);
f[++k] = x;
}
else if (c == 2)
{
in >> x;
int nr = 0;
while (q.top() != f[x] && !q.empty())
{
v[++nr] = q.top();
q.pop();
}
q.pop();
for (int j = 1; j <= nr; ++j)
q.push(v[j]);
}
else
out << q.top() << '\n';
}
return 0;
}