Pagini recente » Cod sursa (job #3285692) | Cod sursa (job #1876314) | Cod sursa (job #858074) | Cod sursa (job #2468802) | Cod sursa (job #2276436)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <functional>
using namespace std;
#define NMax 200010
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
int n, nr = 1;
priority_queue< pair<int, int>, vector< pair<int, int> >, greater< pair<int, int> > > q;
vector<bool> e(NMax, false);
int main(){
int i, tip, x;
fin >> n;
for(i = 1; i <= n; i++){
fin >> tip;
if(tip == 1){
fin >> x;
q.push(make_pair(x, nr++));
}
else if(tip == 2){
fin >> x;
e[x] = true;
}
else if(tip == 3){
while(e[q.top().second]) q.pop();
fout << q.top().first << '\n';
}
}
}