Pagini recente » Cod sursa (job #2432915) | Cod sursa (job #3277719) | Cod sursa (job #944325) | Cod sursa (job #1487996) | Cod sursa (job #2467125)
#include <fstream>
#include <stdlib.h>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
unsigned int n,k,i,v[3000005];
void sorteaza(int st, int dr)
{
if (st < dr)
{
int i = 0; int j = -1;
int stst = st; int drdr = dr;
int x = st+rand()%(dr-st+1);
swap(v[st], v[x]);
while (stst != drdr)
{
if (v[stst] > v[drdr])
{
swap(v[stst], v[drdr]);
int aux = i;
i = -j;
j = -aux;
}
stst += i;
drdr += j;
}
int p = stst;
sorteaza(st, p-1);
sorteaza(p+1, dr);
}
}
int main()
{
fin >> n >> k;
for (i=1; i<=n; i++)
fin >> v[i];
sorteaza(1, n);
fout << v[k];
return 0;
}