Pagini recente » Cod sursa (job #2003270) | Cod sursa (job #1025363) | Cod sursa (job #1512109) | Cod sursa (job #2144165) | Cod sursa (job #2896284)
#include <fstream>
#include <set>
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
int *ordineInserare, nrCrt;
set <int> multime;
void codOperatie1() //se insereaza elementul x in multime
{
int element; fin >> element;
multime.insert(element);
nrCrt++;
ordineInserare[nrCrt] = element;
}
void codOperatie2() //se sterge elementul intrat al x-lea in multime, in ordine cronologica
{
int pozitie; fin >> pozitie;
multime.erase(ordineInserare[pozitie]);
}
void codOperatie3() //se afiseaza elementul minim din multime
{
fout << *(multime.begin()) << "\n";
}
int main()
{
int nrOperatii; fin >> nrOperatii;
ordineInserare = new int[nrOperatii + 1];
for (int i = 1; i <= nrOperatii; i++)
{
int codOperatie; fin >> codOperatie;
switch (codOperatie)
{
case 1:
codOperatie1();
break;
case 2:
codOperatie2();
break;
case 3:
codOperatie3();
break;
}
}
}