Pagini recente » Cod sursa (job #2953548) | Cod sursa (job #2645876) | Cod sursa (job #904784) | Cod sursa (job #772616) | Cod sursa (job #2952091)
#include <fstream>
using namespace std;
int v[4000003];
int change(int st, int dr, int k)
{
int pivot = v[(st + dr) / 2];
int i;
int l = st - 1;
for (i = st; i <= dr; i++)
if (v[i] <= pivot)
{
l++;
swap(v[l], v[i]);
}
if (k == l)
return v[l];
if (k < l)
return change(st, l - 1, k);
if (k > l)
return change(l + 1, dr, k);
}
int main()
{
ifstream cin("sdo.in");
ofstream cout("sdo.out");
int n, i, k;
cin >> n >> k;
for (i = 1; i <= n; i++)
cin >> v[i];
cout << change(1, n, k);
}