Pagini recente » Monitorul de evaluare | Cod sursa (job #2536076) | Cod sursa (job #1524995) | Rating bogeeey (bogy1503) | Cod sursa (job #2760868)
#include <fstream>
#include <set>
#include <vector>
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
//implementam heapul cu ajutorul unui set (elem fiind in ordine) si cu un vector de pozitii
int N, cod, x;
set <int> heap;
vector <int> p;
void Rezolvare()
{
fin >> N;
//punem un element nesemnificativ ca sa incepem indexarea de la 1
p.push_back(-1);
for (int i = 1; i <= N; ++i)
{
if (cod == 1 || cod == 2) fin >> x;
if (cod == 1)
{
//x este intrat pe pozitia i
p.push_back(x);
heap.insert(x);
}
else if (cod == 2) heap.erase(p[x]);
else fout << *heap.begin() << "\n";
}
}
int main()
{
Rezolvare();
return 0;
}