Cod sursa(job #3304084)

Utilizator unomMirel Costel unom Data 20 iulie 2025 13:15:20
Problema Heapuri cu reuniune Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
#include <queue>

using namespace std;

ifstream in("mergeheap.in");
ofstream out("mergeheap.out");
int n, q;
priority_queue<int> pq[105];

int main()
{
    in>>n>>q;

    int a, b, c;
    while(q--)
    {
        in>>a;

        if(a == 1)
        {
            in>>b>>c;

            pq[b].push(c);
        }
        else if(a == 2)
        {
            in>>b;

            out<<pq[b].top()<<'\n';
            pq[b].pop();
        }
        else
        {
            in>>b>>c;

            if(pq[b].size() <= pq[c].size())
            {
                swap(pq[b], pq[c]);
            }

            while(!pq[c].empty())
            {
                pq[b].push(pq[c].top());
                pq[c].pop();
            }
        }
    }

    return 0;
}