Pagini recente » Cod sursa (job #3294378) | Cod sursa (job #1990311) | Cod sursa (job #1375722) | Cod sursa (job #2607458) | Cod sursa (job #2282650)
#include<stdio.h>
#include<iostream>
#include<fstream>
#include<set>
#include <algorithm>
using namespace std;
#define MAXN 200000
int ordine[MAXN];
set<pair<int,int>> values;
int main(){
int N;
freopen("heapuri.in", "r", stdin);
freopen("heapuri.out", "w", stdout);
scanf("%d", &N);
int tip,x;
int index=0,ind;
for(int i=0;i<N;i++){
scanf("%d", &tip);
switch(tip){
case 1:
// insert element
scanf("%d", &x);
ordine[index]=x;
index++;
values.insert(make_pair(x,index));
break;
case 2:
// delete x-th element
scanf("%d", &ind);
x=ordine[ind-1];
values.erase(values.find(make_pair(x,ind)));
break;
case 3:
// display minimum
x=values.begin()->first;
printf("%d\n",x);
break;
}
}
return 0;
}