Pagini recente » Cod sursa (job #2584979) | Istoria paginii runda/meow2 | Cod sursa (job #674741) | Cod sursa (job #3158949) | Cod sursa (job #455744)
Cod sursa(job #455744)
#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)/2];
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("%ld %ld", &n, &k);
for(i=1;i<=n;i++)
scanf("%ld", &a[i]);
sort(1,n);
printf("%ld \n", a[k]);
return 0;
}