Pagini recente » rwerrewrw | Cod sursa (job #1403833) | Cod sursa (job #464794) | Cod sursa (job #939496) | Cod sursa (job #1817026)
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <algorithm>
#define MAX 3000002
int v[MAX], k;
int quicksort(int st,int dr){
int i = st, j = dr, pivot, aux;
//srand(time(NULL));
pivot = v[rand()%(dr - st + 1) + st];
do{
while(v[i] < pivot && i <= dr)
++i;
while(v[j] > pivot && j >= st)
--j;
if(i <= j){
aux = v[i];
v[i] = v[j];
v[j] = aux;
++i;
--j;
}
}while(i <= j);
if(k == j)
return v[j];
else
if(k < j)
return quicksort(st,j);
else
return quicksort(i,dr);
}
int main(){
int n, i, x;
FILE *f, *g;
f = fopen("sdo.in","r");
g = fopen("sdo.out","w");
fscanf(f,"%d %d",&n,&k);
for(i = 1;i <= n; ++i)
fscanf(f,"%d",&v[i]);
x = quicksort(1,n);
fprintf(g,"%d",x);
return 0;
}