Pagini recente » Cod sursa (job #2762883) | Cod sursa (job #3215667) | Cod sursa (job #1338696) | Cod sursa (job #435219) | Cod sursa (job #2920415)
// https://infoarena.ro/problema/heapuri
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define mod 1000000007
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
int main() {
int n;
fin>>n;
priority_queue<int,vector<int>,greater<int>> heap;
vector<int> o;
for (int i=0; i<n; ++i) {
int cod;
fin>>cod;
if (cod==1) {
int x;
fin>>x;
heap.push(x);
o.push_back(x);
} else if (cod==2) {
int x;
fin>>x;
--x;
vector<int> d;
while (heap.top() != o[x]) {
d.push_back(heap.top());
heap.pop();
}
heap.pop();
for (int v:d) heap.push(v);
} else {
cout<<heap.top()<<endl;
}
}
}