Pagini recente » Cod sursa (job #1507651) | Cod sursa (job #583350) | Cod sursa (job #95639) | Cod sursa (job #1557162) | Cod sursa (job #1843571)
#include <fstream>
#define maxn 3000002
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int v[maxn], n, k;
void read()
{
fin >> n >> k;
for (int i = 1; i <= n; i++)
fin >> v[i];
}
int divide(int p, int u)
{
int st = p, dr = u, mij = v[p];
while (st < dr) {
while (st < dr && mij <= v[dr])
dr--;
v[st] = v[dr];
while (st < dr && mij >= v[st])
st++;
v[dr] = v[st];
}
v[st] = mij;
return st;
}
void qsort_special(int p, int u)
{
int m = divide(p, u);
if (k < m)
qsort_special(p, m - 1);
else if (k > m)
qsort_special(m + 1, u);
}
int main()
{
read();
qsort_special(1, n);
fout << v[k];
return 0;
}