Pagini recente » Cod sursa (job #1355965) | Cod sursa (job #708167) | Cod sursa (job #1005346) | Cod sursa (job #991881) | Cod sursa (job #1019441)
#include "stdio.h"
#include "stdlib.h"
int v[3000000],n,poz;
int qs(int s,int d)
{
if(s<d){
int aux;
int i=s;
int j=d;
int pivot = v[(s+d)/2];
for(;;){
while(v[i]<pivot){
i++;
}
while(v[j]>pivot){
j--;
}
if(i<=j){
aux=v[i];
v[i]=v[j];
v[j]=aux;
i++;
j--;
}else
return j;
}
}
}
void search(int s,int d){
if(s<d){
int pivot = qs(s,d);
if(pivot>=poz)
search(s,pivot);
else
search(pivot+1,d);
}
}
int main()
{
freopen("sdo.in", "r", stdin);
freopen("sdo.out", "w", stdout);
scanf("%d%d", &n,&poz);
int i;
for (i=1; i<=n; i++){
scanf("%d", &v[i]);
}
search(1,n);
printf("%d",v[poz]);
fclose(stdin);
fclose(stdout);
return 0;
}