Pagini recente » Cod sursa (job #233299) | Cod sursa (job #1650420) | Cod sursa (job #2135436) | Profil Djok | Cod sursa (job #1850817)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstdlib>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
unsigned long long n, k, v[3000001];
unsigned long long i, j, f;
void quickSort(unsigned long long st, unsigned long long dr)
{
unsigned long long piv = rand() % (dr - st) + st;
piv = v[piv];
i = st;
j = dr;
do
{
while(v[i] < piv and i <= dr)
{
++i;
}
while(v[j] > piv and j >= st)
{
--j;
}
if(i <= j)
{
f = v[i];
v[i] = v[j];
v[j] = f;
i++;
j--;
}
}while(i <= j);
if(j == k) fout<<v[j]<<endl;
else if(j > k) quickSort(st, j);
else quickSort(i, dr);
}
void citire()
{
fin>>n>>k;
for(unsigned int i = 1; i <= n; ++i)
{
fin>>v[i];
}
}
int main()
{
citire();
quickSort(1, n);
}