Cod sursa(job #2918787)

Utilizator BalasaRaduBalasa Radu BalasaRadu Data 12 august 2022 23:10:29
Problema Heapuri cu reuniune Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin ("mergeheap.in");
ofstream fout("mergeheap.out");

const int dim=109;

priority_queue<int>pq[dim];

signed main(){
    int n,q;
        fin>>n>>q;
    while(q--){
        int op;
        fin>>op;
        if(op==1){
            int m,x;
            fin>>m>>x;
            pq[m].push(x);
        }
        if(op==2){
            int m;
            fin>>m;
            fout<<pq[m].top()<<'\n';
            pq[m].pop();
        }
        if(op==3){
            int a,b;
            fin>>a>>b;
            if(pq[a].size()<pq[b].size()){
                pq[a].swap(pq[b]);
            }
            while(pq[b].size()){
                pq[a].push(pq[b].top());
                pq[b].pop();
            }
        }
    }
}