Pagini recente » Cod sursa (job #1311161) | Cod sursa (job #1464800) | Cod sursa (job #2299685) | Cod sursa (job #1614763) | Cod sursa (job #806737)
Cod sursa(job #806737)
#include <set>
#include <vector>
using namespace std;
#include "stdio.h"
int n;
multiset <int> my_set;
vector <int> my_vector;
int main()
{
my_vector.reserve(200000);
FILE* fIn = fopen("heapuri.in","r");
FILE* fOut = fopen("heapuri.out","w");
fscanf(fIn, "%d", &n);
int val1, val2, count = 0;
for ( int i=0; i<n; ++i )
{
fscanf(fIn, "%d", &val1);
switch (val1)
{
case (1): // inserare
{
fscanf(fIn, "%d", &val2);
my_set.insert(val2);
count++;
my_vector.push_back(val2);
break;
}
case (2): // stergere
{
fscanf(fIn, "%d", &val2);
my_set.erase(my_set.find(my_vector[val2-1]));
break;
}
case (3): // afisare minim
{
fprintf(fOut, "%d\n", *(my_set.begin()));
break;
}
default:
break;
}
}
fclose(fIn);
fclose(fOut);
return 0;
}