Cod sursa(job #3182921)

Utilizator anastasiadumitru3Dumitru Anastasia anastasiadumitru3 Data 10 decembrie 2023 11:53:06
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
#include <queue>

using namespace std;
#define Maxn 200000
priority_queue<int, vector<int>, greater<int> > pq1;
priority_queue<int, vector<int>, greater<int> > pq2;
int v[Maxn];
int main()
{
    ifstream in("heapuri.in");
    ofstream out("heapuri.out");
    int n, a, i, q, x, cnt=0;
    in>>n;
    for(i=1; i<=n; i++){
      in>>q;
      if(q==1){
        in>>x;
        pq1.push(x);
        cnt++;
        v[cnt]=x;
      }
      if(q==2){
        in>>x;
        pq2.push(v[x]);
      }
      if(q==3){
        while(pq2.size()>0 && pq1.top()==pq2.top()){
            pq1.pop();
            pq2.pop();
        }
        out<<pq1.top()<<'\n';
      }
    }
    return 0;
}