Cod sursa(job #2918787)
Utilizator | Data | 12 august 2022 23:10:29 | |
---|---|---|---|
Problema | Heapuri cu reuniune | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.8 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("mergeheap.in");
ofstream fout("mergeheap.out");
const int dim=109;
priority_queue<int>pq[dim];
signed main(){
int n,q;
fin>>n>>q;
while(q--){
int op;
fin>>op;
if(op==1){
int m,x;
fin>>m>>x;
pq[m].push(x);
}
if(op==2){
int m;
fin>>m;
fout<<pq[m].top()<<'\n';
pq[m].pop();
}
if(op==3){
int a,b;
fin>>a>>b;
if(pq[a].size()<pq[b].size()){
pq[a].swap(pq[b]);
}
while(pq[b].size()){
pq[a].push(pq[b].top());
pq[b].pop();
}
}
}
}