Cod sursa(job #1022284)

Utilizator nimeniaPaul Grigoras nimenia Data 5 noiembrie 2013 01:33:45
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <vector>
#include <iostream>
#include <set>
#include <cstdio>
#include <algorithm>

using namespace std;

int main() {

	freopen("heapuri.in", "r", stdin);
	freopen("heapuri.out", "w", stdout);

	int n, x, op;
	scanf("%d", &n);

	vector<int> xth;
	set<int> s;
	set<int>::iterator it;
 	for (int i = 0; i < n; i++) {
		scanf("%d", &op);
		switch(op) {
		case 1:
			scanf("%d", &x);
			s.insert(x);
			xth.push_back(x);
			break;
		case 2:
			scanf("%d", &x);
			it = s.find(xth[x - 1]);
			if (it != s.end())
				s.erase(it);
			break;
		case 3:
			printf("%d\n", *s.begin());
		}
	}

}