Pagini recente » Cod sursa (job #561784) | Cod sursa (job #951821) | Cod sursa (job #2472582) | Cod sursa (job #1782761) | Cod sursa (job #1351028)
// Heapuri - O(logN)
#include <fstream>
#include <queue>
#include <bitset>
#define Nmax 200099
#define mp make_pair
#define x first
#define y second
using namespace std;
ifstream f("heapuri.in");
ofstream g("heapuri.out");
typedef pair<int,int> PP;
int N,K;
priority_queue< PP , vector< PP >, greater < PP > > pq;
bitset < Nmax > bad;
int main()
{
f>>N;
for (int i=1; i<=N; ++i)
{
int op,val,poz;
f>>op;
if (op==1) f>>val , pq.push(PP(val,++K));
if (op==2) f>>poz , bad[poz]=1;
if (op==3)
{
while(bad[pq.top().y]) pq.pop();
g<<pq.top().x<<'\n';
}
}
f.close();g.close();
return 0;
}