Cod sursa(job #3349941)

Utilizator unomMirel Costel unom Data 3 aprilie 2026 17:56:00
Problema Heapuri cu reuniune Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
//asta e si mai tare PBDS

#include <fstream>
#include <ext/pb_ds/priority_queue.hpp>

using namespace std;
using namespace __gnu_pbds;

typedef __gnu_pbds::priority_queue<int, less<int>, pairing_heap_tag> pbds_pq;

ifstream in("mergeheap.in");
ofstream out("mergeheap.out");
int n, q;
pbds_pq 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;

            pq[b].join(pq[c]);
        }
    }

    return 0;
}