Pagini recente » Cod sursa (job #2056554) | Cod sursa (job #1297344) | Solutia problemei shoturi | Cod sursa (job #1171289) | Cod sursa (job #472968)
Cod sursa(job #472968)
#include<stdio.h>
#define NMAX 3000003
int n,k,i,d,aux,l,r,m;
int M[NMAX];
int qsort(int l,int r) {
d=0;
while(r!=l) {
if(M[l]>M[r]) {
aux=M[l];
M[l]=M[r];
M[r]=aux;
d=1-d;
}
if(d) r--;
else l++;
}
return l;
}
int main() {
freopen("sdo.in","r",stdin);
freopen("sdo.out","w",stdout);
scanf("%d%d",&n,&k);
--k;
for(i=0;i<n;i++) scanf("%d",M+i);
l=0;
r=n-1;
do {
m=qsort(l,r);
if(m<k) l=m+1;
else r=m-1;
} while(m!=k);
printf("%d\n",M[m]);
return 0;
}