Cod sursa(job #1793058)

Utilizator Emil64Emil Centiu Emil64 Data 30 octombrie 2016 19:17:14
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.03 kb
#include <stdio.h>
#include <set>
#include <algorithm>

using namespace std;

set <int> v;

int o[200001]={0};
//int sterse[200001]={0};
int lg=0;

char buff[20000];int pos=0, semn;
FILE*f=freopen("heapuri.in","r",stdin);
FILE*g=freopen("heapuri.out","w",stdout);
inline void read(int &nr){
    semn = 1;
    while(buff[pos] < '0' || buff[pos] > '9'){if(buff[pos]== '-' )semn = -1; if(++pos == 20000) fread(buff, 1, 20000, stdin), pos = 0;}
    nr = 0;
    while('0' <= buff[pos] && buff[pos] <= '9') {nr = nr * 10 + buff[pos] - '0';if(++pos == 20000) fread(buff, 1, 20000, stdin), pos = 0;}
    nr*=semn;
}

int main()
{
    int i, j, n, cr, nr, lg=0;
    read(n);
    for(i=1; i<=n; i++)
    {

        read(cr);
        if(cr==1)
        {

            read(nr);
            v.insert(nr);
            o[++lg] = nr;
        }
        if(cr==2)
        {
            read(nr);
            v.erase(o[nr]);

        }
        if(cr==3)
        {
            printf("%d\n", *v.begin());
        }
    }

}