Cod sursa(job #679609)

Utilizator marius135Dumitran Adrian Marius marius135 Data 13 februarie 2012 16:06:21
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
// Infoarena - Arhiva Educationala Heapuri
// Februrie 2012 Marius Dumitran
// Folosim seturi -stl sa ne mai obisnuim. O((M+N)*log N)

#include<string.h>
#include<stdio.h>
#include<set>

using namespace std;

int insert[ 1000002], nr;

int main() {
	
	freopen("heapuri.in", "r", stdin);
	freopen("heapuri.out", "w", stdout);
	
	int N;
	scanf("%d", &N);
	set<int>::iterator it;
	set<int> hash;

	
	for( int ii = 1; ii <= N; ++ii) {
		int op, val;
		scanf("%d", &op);
		if( op == 3) {
			it = hash.begin();
			printf("%d\n", *it);
			continue;
		}
		scanf("%d", &val);
		if( op == 1) {
			insert[ ++nr ] = val;
			hash.insert(val);
		}
		if( op == 2) {
			hash.erase(insert[val]);
		}
	}
	
	
	return 0;
}