Pagini recente » Cod sursa (job #1598176) | Cod sursa (job #2738852) | Cod sursa (job #329612) | Cod sursa (job #3247841) | Cod sursa (job #2221101)
#include <cstdio>
using namespace std;
int N, K, i, st, dr, stmax, drmax;
int long List[3000005], aux;
char p;
int main()
{
freopen("sdo.in", "r", stdin);
freopen("sdo.out", "w", stdout);
scanf("%d%d", &N, &K);
for(i=1; i<=N; i++) scanf("%ld", &List[i]);
p='d';
st=stmax=1; dr=drmax=N;
while(st!=K){
if(st>K){
st=stmax;
dr--;
drmax=dr;
}
if(dr<K){
dr=drmax;
st++;
stmax=st;
}
while(st!=dr){
if(List[st]>List[dr]){
aux=List[st];
List[st]=List[dr];
List[dr]=aux;
if(p=='d')p='s';
else p='d';
}
if(p=='d')st++;
else dr--;
}
}
printf("%ld", List[K]);
return 0;
}