Cod sursa(job #673002)

Utilizator damgoodLincan Dan damgood Data 3 februarie 2012 17:28:55
Problema Heapuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <cstdio>
#include <vector>
#include <set>

using namespace std;

int main()
{
	freopen("heapuri.in", "r", stdin);	
	freopen("heapuri.ouw", "w", stdout);	
	int n, code, value, i = 1;
	int order[200001];
	set<int> h;
	
	scanf("%d", &n);
	while(n)
	{
		scanf("%d", &code);
		switch(code)
		{
			case 1:
			{
				scanf("%d", &value);
				h.insert(value);
				order[i++] = value;
				break;
			}
			case 2:
			{
				scanf("%d", &value);
				h.erase( order[value] );
				break; 
			}
			case 3:
			{
				printf("%d\n", *h.begin());
				break;
			}
		}
		--n;
	}
	return 0;
}