Cod sursa(job #544858)

Utilizator paul992Cirstean Paul paul992 Data 2 martie 2011 11:46:13
Problema Heapuri Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<stdio.h>
#include<set>

using namespace std;

struct comp {
	
	bool operator()(long i, long j) {
		return i<j;
	}
	
};


multiset<long,comp> heap;
long N;
long poz[200005];

int main() {
	
	long t,k=0,x;
	
	
	freopen("heapuri.in", "r", stdin);
	freopen("heapuri.out", "w", stdout);
	
	scanf("%ld",&N);
	
	

	
	
	
	for(long i=1; i<=N;i++) {
		
		scanf("%ld",&t);
		
		if(t==1) {
			scanf("%ld",&x);
			
			heap.insert(x);
			poz[++k]=x;
		}
		
		if(t==2) {
			scanf("%ld",&x);
			
			heap.erase(poz[x]);
		}
		
		
		if(t==3) {
			x=*heap.upper_bound(0);
			printf("%ld\n",x);
			
		}
	}
	

	
	return 0;
}