Pagini recente » Cod sursa (job #320190) | Cod sursa (job #1531513) | Cod sursa (job #2188853) | Cod sursa (job #1123181) | Cod sursa (job #455745)
Cod sursa(job #455745)
#include<iostream.h>
long a[3000009],n,k;
int schimb(long i,long j)
{
long aux=a[i];
a[i]=a[j];
a[j]=aux;
}
int sort(long i,long j)
{
long s=i,d=j,piv=a[(i+j)>>1];
while(s<=d)
{
while (a[s] < piv) s ++;
while (a[d] > piv) d --;
if(s <= d)
{
schimb(s,d);
s++;
d--;
}
}
if( (i < d) && (i <= k) && (k <= d)) sort(i,d);
if( (s < j) && (s <= k) && (k <= j)) sort(s,j);
}
int main()
{
long i;
freopen("sdo.in", "r", stdin);
freopen("sdo.out", "w", stdout);
scanf("%d %d", &n, &k);
for(i=1;i<=n;i++)
scanf("%d", &a[i]);
sort(1,n);
printf("%d \n", a[k]);
return 0;
}