Cod sursa(job #2035649)

Utilizator RaduVFVintila Radu-Florian RaduVF Data 9 octombrie 2017 18:43:14
Problema Heapuri Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <climits>
#define NMAX 200001

using namespace std;

fstream fin("heapuri.in", ios::in);
fstream fout("heapuri.out", ios::out);
int n,x,y;
int v[NMAX];
int valMin=1, copyValMin;

int main()
{
    int i=0,j;
    fin>>n;
    while(fin>>x) {
        if(x==1) {
            fin>>v[++i];
            if(v[valMin]>v[i]) {
                copyValMin=valMin;
                valMin=i;
            }
        }
        if(x==2) {
            fin>>y;
            if(v[valMin]==v[y]) valMin=copyValMin;
            v[y]=INT_MAX;
        }
        if(x==3) {
            if(v[valMin]==INT_MAX && v[copyValMin]==INT_MAX)
                for(int k=1; k<=i; k++)
                    if(v[valMin]>v[k]) v[valMin]=v[k];
            fout<<v[valMin]<<endl;
        }
    }
    return 0;
}