Pagini recente » Borderou de evaluare (job #2071838) | Borderou de evaluare (job #1424593) | Borderou de evaluare (job #886128) | Borderou de evaluare (job #2069866) | Cod sursa (job #3349941)
//asta e si mai tare PBDS
#include <fstream>
#include <ext/pb_ds/priority_queue.hpp>
using namespace std;
using namespace __gnu_pbds;
typedef __gnu_pbds::priority_queue<int, less<int>, pairing_heap_tag> pbds_pq;
ifstream in("mergeheap.in");
ofstream out("mergeheap.out");
int n, q;
pbds_pq 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;
pq[b].join(pq[c]);
}
}
return 0;
}