Cod sursa(job #902640)

Utilizator PatrikStepan Patrik Patrik Data 1 martie 2013 15:42:54
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
    #include<cstdio>
    #include<set>
    #define MAX 200001
    using namespace std;
    int N , V[MAX] , t , x  , inm[MAX];
    struct cmp{bool operator()(int x , int y){return x < y;}};
    multiset<int,cmp> Q;

    int main()
    {
        freopen("heapuri.in" , "r" , stdin );
        freopen("heapuri.out" , "w" , stdout );
        scanf("%d" , &N);
        for(int i = 1 ; i <= N ; ++i )
        {
            scanf("%d" , &t);
            if(t!=3)scanf("%d" , &x);
            if(t==1)
            {
                inm[++inm[0]] = x;
                Q.insert(x);
                continue;
            }
            if(t == 2)
            {
                Q.erase(inm[x]);
                continue;
            }
            if(t == 3)
                printf("%d\n" , *Q.begin());
        }
        return 0;
    }