Cod sursa(job #1795747)

Utilizator mihai.alphamihai craciun mihai.alpha Data 2 noiembrie 2016 20:21:20
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;
FILE *fin, *fout;
int v[200000];
struct comparator  {
    bool operator()(int i, int j) {
        return i < j;
    }
};
multiset <int, comparator> heap;
int main()  {
    fin = fopen("heapuri.in", "r");
    fout = fopen("heapuri.out", "w");
    int n;
    fscanf(fin, "%d", &n);
    int nr = 0;
    int i, cer;
    int x;
    for(i = 0;i < n;i++)  {
        fscanf(fin, "%d", &cer);
        if(cer == 1)  {
            fscanf(fin, "%d", &x);
            //printf("%d ", x);
            heap.insert(x);
            v[nr++] = x;
        }
        if(cer == 2)  {
            fscanf(fin, "%d", &x);
            heap.erase(v[x-1]);
        }
        if(cer == 3)  {
            fprintf(fout, "%d\n", *heap.begin());
        }
    }
    fclose(fin);
    fclose(fout);
    return 0;
}