Cod sursa(job #411418)

Utilizator robertzelXXX XXX robertzel Data 4 martie 2010 21:33:14
Problema Heapuri Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <set>
#define MAX_N 200010

using namespace std;

int n,o[MAX_N];
multiset<int> a;

int main () {
	int x,y,i;
	
	freopen("heapuri.in", "r", stdin);
	freopen("heapuri.out", "w", stdout);
	
	scanf("%d", &n);
	
	for (i=0; i<n; i++) {
		scanf("%d", &x);
		
		if (x == 1) {
			//se ins el x in multime
			scanf("%d", &y);
			a.insert(y);
			o[a.size()] = y;
			
		} else if (x == 2) {
			//se sterge elem intrat al xulea in multime
			scanf("%d", &y);
			a.erase(a.find(o[y]));
			
		} else {
			//se aff el min
			printf("%d\n", *a.begin());
		}
	}
	
	return 0;
}