Pagini recente » Cod sursa (job #1437894) | Cod sursa (job #2068522) | Cod sursa (job #441200) | Cod sursa (job #207155) | Cod sursa (job #3327677)
#include <stdio.h>
#include <stdlib.h>
#define MAXN 3000000
int v[MAXN];
int hoare(int st, int dr, int k) {
int b = st,e = dr,mij = v[(st + dr)/2];
int aux;
while (b < e) {
while (v[b] < mij) b++;
while (v[e] > mij) e--;
if (b >= e) break;
aux = v[b];
v[b] = v[e];
v[e] = aux;
b++;
e--;
}
if(st >= dr)
return v[st];
if(k > e)
return hoare(e+1,dr,k);
return hoare(st,e,k);
}
int main()
{
FILE*fin;
FILE*fout;
fin = fopen("sdo.in","r");
fout = fopen("sdo.out","w");
int n,a,k;
fscanf(fin,"%d%d",&n,&k);
for(int i = 0; i < n;fscanf(fin,"%d",&v[i++]));
a = hoare(0,n-1,k);
fprintf(fout,"%d",a);
return 0;
}