Cod sursa(job #539259)

Utilizator Rares95Rares Arnautu Rares95 Data 22 februarie 2011 19:27:03
Problema Heapuri Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
# include <cstdio>
# include <set>
# include <algorithm>
# define open_files(); freopen ("heapuri.in", "rt", stdin); freopen ("heapuri.out", "wt", stdout)
	using namespace std;
	
	const int MAX = 200001;
	int n, x, tip, m, poz[MAX];

	int main () 
	{	open_files ();
		set <int> rares;
		set <int> :: iterator it;
		set <int> :: iterator pos;
		
		scanf ("%d", &n);
		for (; n; --n)
		{	scanf ("%d", &tip);
			if (tip == 1) {
				scanf ("%d", &x);
				poz[++m] = x;
				rares.insert(x);
			}
			else if (tip == 2) {
					    scanf ("%d", &x);
				      rares.erase (poz[x]);
			        }
			else {
				it = rares.begin ();
				printf ("%d\n", *it);
			}
		}
		return 0;
	}