Pagini recente » Borderou de evaluare (job #1605908) | Borderou de evaluare (job #1609903) | Borderou de evaluare (job #2373485) | Borderou de evaluare (job #2495360) | Cod sursa (job #1023410)
#include<fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
long v[500001], n;
int qSort(long vector[],long st,long dr, long k)
{
long temp,min,max,mijl;
mijl = vector[st+(dr-st)/2];
min = st; max = dr;
do
{
while(vector[min] < mijl) min++;
while(vector[max] > mijl) max--;
if(min <= max)
{
temp = vector[min];
vector[min++] = vector[max];
vector[max--] = temp;
min++;
max--;
}
}while(min <= max);
if(k <= max && min< max) qSort(vector,st,max,k);
if(min <= k && min<max) qSort(vector,min,dr, k);
return v[k];
}
int main()
{
long i, k;
f>>n>>k;
for(i=1;i<=n;i++)
f>>v[i];
qSort(v,1,n, k);
g<<v[k];
f.close();
g.close();
return 0;
}