Pagini recente » Cod sursa (job #1898951) | Cod sursa (job #2771269) | Cod sursa (job #2290486) | Cod sursa (job #644298) | Cod sursa (job #3161290)
#pragma GCC optimize("O3")
#pragma GCC optimize("fast-math")
#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
using namespace std;
int n, op, x, t;
struct point
{
int val, idx;
bool operator <(const point &ob)const
{
return val > ob.val;
}
};
priority_queue<point>pq;
bitset<200005>viz;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
int32_t main(int argc, char * argv[])
{
fin >> n;
for(int i = 1; i <= n; ++i)
{
fin >> op;
if(op == 3)
{
int ok = 0;
while(ok == 0)
{
point vf = pq.top();
if(viz[vf.idx] == 1)
{
pq.pop();
}
else
{
ok = 1;
fout << vf.val << '\n';
}
}
}
else
{
if(op == 1)
{
fin >> x;
pq.push({x, t++});
}
else
{
fin >> x;
viz[x] = 1;
}
}
}
return 0;
}