Cod sursa(job #1022278)

Utilizator nimeniaPaul Grigoras nimenia Data 5 noiembrie 2013 01:27:06
Problema Heapuri Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <vector>
#include <iostream>
#include <set>
#include <cstdio>
#include <algorithm>

using namespace std;

const int MAX_N = 200000 + 1;

int xth[MAX_N];

struct Comparator {
	bool operator() (const int &a, const int &b) {
		return b < a;
	}
};

int main() {

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

	int n, m, x, op, total = 0;
	scanf("%d", &n);

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

}