Cod sursa(job #1873601)
Utilizator | Data | 9 februarie 2017 11:41:32 | |
---|---|---|---|
Problema | Heapuri | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.78 kb |
#include <fstream>
#include <set>
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
const int NMAX = 200005;
int n;
multiset < int > H;
int pos[NMAX], k;
int main()
{
fin >> n;
for (int i = 1; i <= n; ++ i)
{
int task, temp;
fin >> task;
switch (task)
{
case 1:
fin >> temp;
H.insert(temp);
pos[++ k] = temp;
break;
case 2:
fin >> temp;
H.erase(pos[temp]);
break;
case 3:
fout << *H.begin() << "\n";
break;
}
}
fin.close();
fout.close();
return 0;
}