Pagini recente » Cod sursa (job #1160499) | Cod sursa (job #1938276) | Cod sursa (job #1440873) | Cod sursa (job #3120607) | Cod sursa (job #2932464)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int n, m, v[300000001];
int quick(int ls, int ld)
{
int i0 = 1, j0 = 0;
int i = ls, j = ld;
while(i < j)
{
if(v[i] > v[j])
{
swap(v[i], v[j]);
if(i0 == 0)
i0 = 1, j0 = 0;
else
i0 = 0, j0 = -1;
}
i += i0;
j += j0;
}
return i;
}
int dei(int ls, int ld)
{
if(ls < ld)
{
int p = quick(ls, ld);
if(p == m)
{
fout << v[p];
exit(0);
}
else
{
if(p > m)
dei(ls, p - 1);
else
dei(p + 1, ld);
}
}
}
int main()
{
fin >> n >> m;
for(int i = 1; i <= n; ++ i)
fin >> v[i];
dei(1, n);
fout << v[m];
return 0;
}