Cod sursa(job #1034798)

Utilizator SzymonSidorSzymonSidor SzymonSidor Data 18 noiembrie 2013 05:20:00
Problema Heapuri Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <stdio.h>
#include <vector>

#define MAX 200010
#define pb push_back

using namespace std;

vector <int> vctEl;
int el[MAX];

int main() {

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

	int n;
	scanf("%d", &n);
	for (int i = 1; i <= n; i++) {
		int tip, x;
		scanf("%d", &tip);

		if (tip == 1) {
			scanf("%d", &x);

			el[++el[0]] = x;

			vctEl.pb(x);
			for (int j = vctEl.size() - 1; j; j--)
				if (vctEl[j] < vctEl[j - 1])
					swap(vctEl[j], vctEl[j - 1]);
		}
		else if (tip == 2) {
			scanf("%d", &x);

			for (int j = 0; j < vctEl.size() - 1; j++)
				if (vctEl[j] == el[x])
					swap(vctEl[j], vctEl[j + 1]);

			vctEl.pop_back();
		}
		else printf("%d\n", vctEl[0]);
	}
}