Pagini recente » Cod sursa (job #1211584) | Cod sursa (job #2750004) | Cod sursa (job #2129691) | Cod sursa (job #2961526) | Cod sursa (job #2761449)
//
// main.cpp
// heap1
//
// Created by Vlad Calomfirescu on 27.04.2021.
//
#include <fstream>
#include <set>
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
int f[200001];// retine pe ce poz au intrat nr citite
int x,n,op,k;
set <int> heap;
int main()
{
fin>>n;
for (int i = 1; i<=n; i++)
{
fin>>op;
switch (op)
{
case 1: // case 1 insereaza x si actualizam pozitia lui in f
fin>>x;
heap.insert(x);
f[++k] = x;
break;
case 2:
fin>>x;
heap.erase(f[x]); // stergem elem de pe poz x
break;
case 3:
fout<<*heap.begin()<<'\n'; // af primul element care mereu va fi cel mai mic in multime pt ca e set
break;
}
}
return 0;
}
//set <int> heap;
//int n, f[200001], x,op,k;
//
//int main()
//{
// fin>>n;
// for ( int i =1;i <=n;i++)
// {
// fin>>op;
//
// if (op==1) {
// fin>>x;
// heap.insert(x);
// f[++k] =x;
// }
// else
// {
// if (op ==2)
// {
// fin>>x;
// heap.erase(f[x]);
// }
// else{
// fout<< *heap.begin() <<'\n';
// }
// }
// }
// return 0;
//}