Pagini recente » Cod sursa (job #2552447) | Cod sursa (job #2650441) | Cod sursa (job #2524479) | Cod sursa (job #3175266) | Cod sursa (job #2943707)
#include <fstream>
#include <cstdlib>
using namespace std;
#define NMAX 3000000
int v[NMAX], h[NMAX], k;
void QSORT(int st, int dr)
{
int s = st, d = dr;
int pivot = v[st + rand()%(dr - st + 1)];
while (v[s] < pivot)
s++;
while (v[d] > pivot)
d--;
while (s < d)
{
swap (v[s], v[d]);
do
s++;
while (v[s] < pivot);
do
d--;
while (v[d] > pivot);
}
if (st < d && k < d)
QSORT(st, d);
else if (d+1 < dr)
QSORT(d+1, dr);
}
int main()
{
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int n;
fin >> n >> k;
k--;
for (int i = 0; i < n; i++)
fin >> v[i];
QSORT(0, n-1);
fout << v[k];
}