Cod sursa(job #505014)

Utilizator mraresMardare Rares mrares Data 29 noiembrie 2010 22:34:24
Problema Heapuri Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <cstdio>
#include <set>
#define nmax 200010

using namespace std;

FILE *fin = fopen("heapuri.in", "r");
FILE *fout = fopen("heapuri.out", "w");

multiset <int> heap;
multiset <int> :: iterator it;

int poz[nmax], n, nr;

int main()
{
    int i, cod, x;
    fscanf(fin, "%d", &n);
    for(i=1;i<=n;++i)
    {
        fscanf(fin, "%d", &cod);
        if(cod < 3)
            fscanf(fin, "%d", &x);
        if(cod == 1)
        {
            heap.insert(x);
            poz[++nr] = x;
        }
        if(cod == 2)
        {
            heap.erase(poz[x]);
        }
        if(cod == 3)
        {
            it = heap.begin();
            fprintf(fout, "%d\n", *it);
        }
    }
    return 0;

}