Pagini recente » Cod sursa (job #2977125) | Cod sursa (job #266368) | Cod sursa (job #1084167) | Cod sursa (job #2853236) | Cod sursa (job #821078)
Cod sursa(job #821078)
#include<cstdio>
#include<algorithm>
using namespace std;
#define NM 3000005
int v[NM];
int N,k;
inline void coboara(int k) {
int son = k;
while (1) {
if (k<<1 <=N && v[k<<1]<v[k]) {
son = k<<1;
}
if ((k<<1) +1 <= N && v[(k<<1)+1]<v[son]) {
son = (k<<1)+1;
}
if (k==son) {
return;
}
swap(v[k],v[son]);
k=son;
}
}
int main () {
freopen("sdo.in","r",stdin);
freopen("sdo.out","w",stdout);
scanf("%d%d",&N,&k);
for (int i=1; i<=N; ++i) {
scanf("%d",&v[i]);
}
for (int i=N>>1; i; --i) {
coboara(i);
}
int rez = v[1];
while (k--) {
rez= v[1];
swap(v[1],v[N]);
--N;
coboara(1);
}
printf("%d",rez);
return 0;
}