Cod sursa(job #3333433)
| Utilizator | Data | 13 ianuarie 2026 15:57:18 | |
|---|---|---|---|
| Problema | Heapuri | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.68 kb |
#include <bits/stdc++.h>
using namespace std;
priority_queue<int>pq;
map<int,int>m;
int v[200005];
int main()
{
ifstream cin("heapuri.in");
ofstream cout("heapuri.out");
int n,a,curr=0,tip;
cin>>n;
for(int i=0; i<n; i++)
{
cin>>tip;
if(tip==1)
{
curr++;
cin>>v[curr];
pq.push(-v[curr]);
m[v[curr]]++;
}
else if(tip==2)
{
cin>>a;
m[v[a]]--;
}
else
{
while(pq.size()>0&&m[-(pq.top())]<1)
pq.pop();
cout<<-pq.top()<<'\n';
}
}
return 0;
}
