Cod sursa(job #3228306)

Utilizator SerbanCaroleSerban Carole SerbanCarole Data 7 mai 2024 15:12:12
Problema Heapuri cu reuniune Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <set>
using namespace std;
ifstream cin("mergeheap.in");
ofstream cout("mergeheap.out");
multiset<int>m[101];
signed main()
{
    int n , q , op , a , b; cin >> n >> q;
    for(int i = 1 ; i <= q ; ++i)
    {
        cin >> op;
        if(op == 1)
        {
            cin >> a >> b;
            m[a].insert(b);
        }
        if(op == 2)
        {
            cin >> a;
            auto rit = m[a].rbegin();
            cout << *rit << '\n';
            m[a].erase(m[a].find(*rit));
        }
        if(op == 3)
        {
            cin >> a >> b;
            if(m[a].size() < m[b].size()) swap(m[a],m[b]);
            for(auto it : m[b]) m[a].insert(it);
            m[b].clear();
        }
    }
    return 0;
}