Pagini recente » Cod sursa (job #1457859) | Cod sursa (job #743219) | Cod sursa (job #2881293) | Cod sursa (job #1984075) | Cod sursa (job #2672009)
#include <stdio.h>
#include <stdlib.h>
int v[3000000];
int sort(int begin, int end, int k){
int b=begin, e=end, pivot=v[(begin+end)/2],aux;
while(v[b]<pivot)
b++;
while(v[e]>pivot)
e--;
while(b<e){
aux=v[b];
v[b]=v[e];
v[e]=aux;
do{
b++;
} while(v[b]<pivot);
do{
e--;
} while(v[e]>pivot);
}
if(begin<e && k-1<=e)
sort(begin,e,k);
else if(e+1<end)
sort(e+1,end,k);
}
int main(){
int i,n,k;
FILE *fin, *fout;
fin=fopen("sdo.in","r");
fscanf(fin,"%d%d",&n,&k);
for(i=0;i<n;i++){
fscanf(fin,"%d",&v[i]);
}
fclose(fin);
sort(0,n-1,k);
fout=fopen("sdo.out","w");
fprintf(fout,"%d\n",v[k-1]);
fclose(fout);
return 0;
}