Pagini recente » Cod sursa (job #745779) | Cod sursa (job #3291981) | Rating Ciocirlan Robert (ciocirlanr) | Cod sursa (job #1759656) | Cod sursa (job #660112)
Cod sursa(job #660112)
#include <stdio.h>
#include <stdlib.h>
#define nmax 3000010
int v[nmax];
void quick(int li, int ls){
int i=li,j=ls,pivot=v[li + rand() % (ls-li+1)];
int aux;
while(i<=j){
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--;
}
}
if(li<j)quick(li,j);
if(i<ls)quick(i,ls);
}
int main(){
int i,n;
int k;
FILE *fin=fopen("sdo.in","r");
fscanf(fin,"%d%d",&n,&k);
for(i=0;i<n;i++){
fscanf(fin,"%d",&v[i]);
}
fclose(fin);
quick(0,n-1);
//printf("%d\n",RAND_MAX);
FILE *fout=fopen("sdo.out","w");
fprintf(fout,"%d\n",v[k-1]);
fclose(fout);
return 0;
}