Pagini recente » Clasamentul arhivei de probleme | Cod sursa (job #1455373) | Cod sursa (job #1227298) | Cod sursa (job #1830104) | Cod sursa (job #382957)
Cod sursa(job #382957)
#include<stdio.h>
int v[3000010],N,K;
void qsort (int st,int dr)
{
int i=st,j=dr,piv=v[(st+dr)/2],aux;
do
{
while (v[i]<piv)
++i;
while (v[j]>piv)
--j;
if (i<=j)
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
++i;
--j;
}
}
while (i<=j);
if (st<=K&&K<=j)
qsort(st,j);
else if (i<=K&&K<=dr)
qsort(i,dr);
}
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]);
qsort(1,N);
printf("%d",v[K]);
}