Cod sursa(job #3293145)

Utilizator mihaigeorgescuGeorgescu Mihai mihaigeorgescu Data 10 aprilie 2025 14:08:40
Problema Heapuri cu reuniune Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.08 kb
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream fcin("mergeheap.in");
ofstream fout("mergeheap.out");
priority_queue <int> q[250];
int c,x,m,a,b,n,t;
int main()
{
    fcin>>n>>t;
    while(t--)
    {
        fcin>>c;
        if(c==1)
        {
            fcin>>m>>x;
            q[m].push(x);
        }
        if(c==2)
        {
            fcin>>m;
            if(!q[m].empty())
            {
                fout<<q[m].top()<<'\n';
                q[m].pop();
            }
        }
        if(c==3)
        {
            fcin>>a>>b;
            if(q[a].size()>q[b].size())
            {
                while(!q[b].empty())
                {
                    q[a].push(q[b].top());
                    q[b].pop();
                }
            }
            else
            {
                swap(q[a], q[b]);
                while(!q[b].empty())
                {
                    q[a].push(q[b].top());
                    q[b].pop();
                }
            }
        }
    }
    return 0;
}