Pagini recente » Cod sursa (job #1557852) | Cod sursa (job #2077490) | Cod sursa (job #1071867) | Cod sursa (job #2445122) | Cod sursa (job #385884)
Cod sursa(job #385884)
#include<stdio.h>
#include<ctype.h>
#define MAX 10001
int a[3000010],k,n;
void qsort (int st,int dr)
{
int i=st,j=dr,piv=a[(st+dr)/2],aux;
do
{
while(a[i]<piv)
++i;
while(piv<a[j])
--j;
if(i<=j)
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
++i;
--j;
}
}
while(i<=j);
if(st<=k && k<=j)
qsort(st,j);
else if (i<=k && k<=dr)
qsort(i,dr);
}
char s[MAX];
int cnt;
inline void read(int &x)
{
while(!isdigit(s[cnt]))
if(++cnt==MAX)
{
fread(s,1,MAX,stdin);
cnt=0;
}
for(x=0;isdigit(s[cnt]);)
{
x=x*10+s[cnt]-'0';
if(++cnt==MAX)
{
fread(s,1,MAX,stdin);
cnt=0;
}
}
}
int main ()
{
freopen("sdo.in","r",stdin);
freopen("sdo.out","w",stdout);
int i;
read(n);
read(k);
for(i=1;i<=n;++i)
read(a[i]);
qsort (1,n);
printf("%d",a[k]);
return 0;
}