Pagini recente » Cod sursa (job #1057036) | Cod sursa (job #1844517) | Cod sursa (job #597246) | Cod sursa (job #928359) | Cod sursa (job #1233299)
#include <fstream>
#include <queue>
#include <bitset>
#define x first
#define y second
#define Nmax 200099
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; // miniHeap
//priority_queue < PP , vector < PP > > pq; //Maxheap
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;
}