Pagini recente » Cod sursa (job #1842062) | Borderou de evaluare (job #565585) | Cod sursa (job #1720510) | Cod sursa (job #2583801) | Cod sursa (job #710506)
Cod sursa(job #710506)
//Include
#include <stdio.h>
#include <vector>
#include <set>
using namespace std;
//Variabile
FILE *in, *out;
int nrOperatii;
int tipOperatie, element;
multiset<int> heap;
vector<int> elemente (1);
//Main
int main()
{
in = fopen("heapuri.in","rt");
out = fopen("heapuri.out","wt");
fscanf(in, "%d", &nrOperatii);
elemente.reserve(nrOperatii+1);
for(int i=1 ; i<=nrOperatii ; ++i)
{
fscanf(in, "%d", &tipOperatie);
if(tipOperatie == 1)
{
fscanf(in, "%d", &element);
elemente.push_back(element);
heap.insert(element);
}
else if(tipOperatie == 2)
{
fscanf(in, "%d", &element);
heap.erase(heap.find(elemente[element]));
}
else
fprintf(out, "%d\n", *heap.begin());
}
fclose(in);
fclose(out);
return 0;
}