Cod sursa(job #3213716)

Utilizator radu._.21Radu Pelea radu._.21 Data 13 martie 2024 13:09:15
Problema Heapuri cu reuniune Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
#include <set>

using namespace std;
multiset<int>s[201];
int n,q;
ifstream fin("mergeheap.in");
ofstream fout("mergeheap.out");
int main(){
     fin>>n>>q;
    while(q--){
        int t; fin>>t;
        if(t==1){
            int m,x; fin>>m>>x;
            s[m].insert(x);
        }
        else if(t==2){
            int m; fin>>m;
            fout<<*s[m].rbegin()<<'\n';
            s[m].erase(*s[m].rbegin());
        }
        else{
            int a,b;
            fin>>a>>b;
            if(s[a].size()<s[b].size())
                swap(s[a],s[b]);
           while(!s[b].empty()){
            s[a].insert(*s[b].begin());
            s[b].erase(*s[b].begin());

            }
        }
    }

    return 0;
}