Cod sursa(job #1619121)

Utilizator SlevySlevoaca Stefan-Gabriel Slevy Data 28 februarie 2016 12:56:10
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#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;
}