Cod sursa(job #2932633)

Utilizator namesurname01Name Surname namesurname01 Data 3 noiembrie 2022 13:32:25
Problema Heapuri cu reuniune Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <queue>

using namespace std;

priority_queue <int> q[101];


int main() {
	ifstream f("mergeheap.in");
	ofstream g("mergeheap.out");
	int n, op, x, nr = 0, mul, totMul;
	f >> totMul >> n;
	while(n--) {
		f >> op >> mul;
		if (op == 1) {
			f >> x;
			q[mul].push(x);
		}
		else {
			if (op == 2) {
				g << q[mul].top() << "\n";
				q[mul].pop();
			}
			else {
				f >> x;
				if (q[mul].size() < q[x].size()) {
					swap(q[mul], q[x]);
				}
				while (!q[x].empty()) {
					q[mul].push(q[x].top());
					q[x].pop();
				}
			}
		}
	}

	
	f.close();
	g.close();
	return 0;
}