Pagini recente » Cod sursa (job #3304025) | Cod sursa (job #3304031) | Cod sursa (job #3304078) | Cod sursa (job #3123548) | Cod sursa (job #3304084)
#include <fstream>
#include <queue>
using namespace std;
ifstream in("mergeheap.in");
ofstream out("mergeheap.out");
int n, q;
priority_queue<int> 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;
if(pq[b].size() <= pq[c].size())
{
swap(pq[b], pq[c]);
}
while(!pq[c].empty())
{
pq[b].push(pq[c].top());
pq[c].pop();
}
}
}
return 0;
}