Pagini recente » Votati personajul preferat Infoarena | Cod sursa (job #2641816) | Cod sursa (job #410283) | Cod sursa (job #512551) | Cod sursa (job #768909)
Cod sursa(job #768909)
#include<cstdio>
#include<cstdlib>
#include<ctime>
int a[3000005],N,K,sw;
void quicksort(int lb,int ub){
int i=lb,j=ub,p=a[lb+rand()%(ub-lb+1)];
do{
while(a[i]<p)++i;
while(a[j]>p)--j;
if(i<=j){ sw=a[i]; a[i]=a[j]; a[j]=sw; ++i; --j; }
}while(i<=j);
if(lb<j)quicksort(lb,j);
if(ub>i && i<=K)quicksort(i,ub);
}
int main(void){
freopen("sdo.in","r",stdin);
freopen("sdo.out","w",stdout);
scanf("%d%d",&N,&K);
for(int i=1;i<=N;++i)scanf("%d",&a[i]);
srand(time(NULL));
quicksort(1,N);
printf("%d",a[K]);
return 0;
}