Cod sursa(job #2297510)

Utilizator cc4infinityCojocaru Catalin cc4infinity Data 5 decembrie 2018 22:24:16
Problema Statistici de ordine Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("sdo.in");
ofstream fout("sdo.out");

int n,i,k,h[3000002],x;


int main()
{
    fin>>n>>k;
    for (i=1;i<=k;i++)
    {
        fin>>h[i];
        int nod=i;
        while (nod>1 && h[nod>>1]<h[nod])
      {
        swap(h[nod],h[nod>>1]);
        nod>>=1;
      }
    }
    for (;i<=n;i++)
    {
        fin>>x;
        if (x<h[1])
        {
            h[1]=x;
            int son=2;
            while (son<=n)
              {
                    if (h[son]<h[son+1]) son++;
                    if (h[son]>h[son>>1]) {swap(h[son],h[son>>1]); son<<=1; } else break;
              }
        }
    }
    fout<<h[1];
    return 0;
}