Pagini recente » Cod sursa (job #1176506) | Cod sursa (job #1730865) | Cod sursa (job #1390255) | Cod sursa (job #1789943) | Cod sursa (job #2282664)
#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;
multiset<int> values;
int main(){
int N;
freopen("heapuri.in", "r", stdin);
//freopen("heapuri_test2.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));
values.insert(x);
break;
case 2:
// delete x-th element
scanf("%d", &ind);
x=ordine[ind-1];
//values.erase(values.find(make_pair(x,ind)));
values.erase(values.find(x));
break;
case 3:
// display minimum
//x=values.begin()->first;
x=*values.begin();
printf("%d\n",x);
break;
}
}
return 0;
}