Pagini recente » Cod sursa (job #1885692) | Cod sursa (job #204726) | Cod sursa (job #1645311) | Cod sursa (job #3210177) | Cod sursa (job #2297492)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int n,i,k,h[3000002],x;
void sus(int nod)
{
if (nod>1 && h[nod/2]<h[nod])
{
swap(h[nod],h[nod/2]);
sus(nod/2);
}
}
void jos(int nod)
{
int son=nod*2;
if (son<=n)
{
if (son+1<=n)
if (h[son]>h[nod] || h[son+1]>h[nod])
{
if (h[son]>h[son+1])
{swap(h[nod],h[son]); jos(son);}
else {swap(h[nod],h[son+1]); jos(son+1);}
}
if (h[son]>h[nod]) {swap(h[nod],h[son]); jos(son);}
}
}
int main()
{
fin>>n>>k;
for (i=1;i<=k;i++)
{
fin>>h[i];
sus(i);
}
for (;i<=n;i++)
{
fin>>x;
if (x<h[1])
{
h[1]=x;
jos(1);
}
}
fout<<h[1];
return 0;
}