Pagini recente » Cod sursa (job #689175) | Cod sursa (job #2362013) | Cod sursa (job #2681778) | Cod sursa (job #1089314) | Cod sursa (job #1619121)
#include <iostream>
#include <set>
#include <fstream>
using namespace std;
FILE* in = freopen("heapuri.in","r",stdin);
FILE* out = freopen("heapuri.out","w",stdout);
set<int> heap;
set<int>::iterator it;
const int NMAX = 200010;
int enter[NMAX];
int n;
int u = 0;
int main()
{
scanf("%d",&n);
int op,value;
for(int i = 1;i <= n;i++)
{
scanf("%d",&op);
if(op == 1)
{
scanf("%d",&value);
enter[++u] = value;
heap.insert(value);
}
else
if(op == 2)
{
scanf("%d",&value);
it = heap.find(enter[value]);
if(it != heap.end())
heap.erase(it);
}
else
printf("%d\n",*(heap.begin()));
}
fclose(stdin);
fclose(stdout);
return 0;
}