Pagini recente » Cod sursa (job #6109) | Cod sursa (job #83495) | Cod sursa (job #1281616) | Cod sursa (job #365519) | Cod sursa (job #724279)
Cod sursa(job #724279)
#include <fstream>
#include <queue>
using namespace std;
#define MAXN 300000
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
priority_queue< pair<int, int> , vector< pair<int, int> >, greater < pair <int, int> > > heap;
int n, deleted[MAXN];
int main() {
int i, op, nr, elem = 0;
fin >> n;
for (i = 1; i <= n; ++i) {
fin >> op;
switch(op) {
case 1: {
fin >> nr;
heap.push(make_pair(nr, ++elem));
break;
}
case 2: {
fin >> nr;
deleted[nr] = 1;
break;
}
case 3: {
while(deleted[heap.top().second])
heap.pop();
fout << heap.top().first << "\n";
break;
}
}
}
fout.close();
return 0;
}