Pagini recente » Cod sursa (job #1004650) | Cod sursa (job #2204400) | Cod sursa (job #2155045) | Cod sursa (job #1182583) | Cod sursa (job #2173848)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
vector <int> insertedElements;
vector <int> heap;
int numberOfElements = 0;
int main()
{
int numberOfQueries, operationType;
fin >> numberOfQueries;
make_heap(heap.begin(), heap.end());
while (numberOfQueries)
{
fin >> operationType;
if (operationType == 1)
{
int number;
fin >> number;
heap.push_back(number);
insertedElements.push_back(number);
++numberOfElements;
push_heap(heap.begin(), heap.end());
}
if (operationType == 2)
{
int number;
fin >> number;
heap.erase(find(heap.begin(), heap.end(), insertedElements[number - 1]));
push_heap(heap.begin(), heap.end());
insertedElements[number - 1] = 0;
}
if (operationType == 3)
{
fout << heap.back() << '\n';
}
--numberOfQueries;
}
return 0;
}