Pagini recente » Cod sursa (job #1274507) | Cod sursa (job #1099103) | Cod sursa (job #2416404) | Cod sursa (job #1014333) | Cod sursa (job #1019615)
#include <stdio.h>
#include <stdlib.h>
int v[3000001],k;
void quicksort(int p,int u){
int i,j,piv,aux;
if(p>=u)return;
i=p;
j=u;
piv=v[p+rand()%(u-p+1)];
while(i<=j){
while(v[i]<piv) i++;
while(v[j]>piv) j--;
if(i<=j){
aux=v[i];
v[i]=v[j];
v[j]=aux;
i++;
j--;
}
}
if(k<=j) quicksort(p,j);
else quicksort(i,u);
}
int main()
{
FILE *f,*g;
int n,i;
f=fopen("sdo.in","r");
g=fopen("sdo.out","w");
fscanf(f,"%d",&n);
fscanf(f,"%d",&k);
for(i=1;i<=n;i++){
fscanf(f,"%d",&v[i]);
}
quicksort(1,n);
fprintf(g,"%d",v[k]);
fclose(f);
fclose(g);
return 0;
}