Pagini recente » Cod sursa (job #269213) | Cod sursa (job #3282450) | Cod sursa (job #2264263) | Cod sursa (job #1692809) | Cod sursa (job #2952094)
#include <fstream>
using namespace std;
unsigned int v[4000003];
unsigned int change(int st, int dr, int k)
{
unsigned int pivot = v[(st + dr) / 2];
swap(v[dr], 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);
}