Pagini recente » Cod sursa (job #2737074) | Cod sursa (job #1561624) | Cod sursa (job #1286279) | Cod sursa (job #2973350) | Cod sursa (job #1017033)
#include <fstream>
using namespace std;
ifstream cin("sdo.in");
ofstream cout("sdo.out");
unsigned long n, v[3000001], i, k;
int stat(unsigned long v[], unsigned long st, unsigned long dr, unsigned long k)
{
unsigned long i=st, j=dr;
if(i==j) return v[i];
unsigned long piv = v[(st+dr)/2];
while (i <= j)
{
while (v[i] < piv) i++;
while (v[j] > piv) j--;
if (i <= j)
{
swap(v[i],v[j]);
i++;
j--;
}
}
if (k <= j) return stat(v, st, j, k);
if (i <= k) return stat(v, i, dr, k);
}
int main()
{
cin>>n>>k;
for (i=1; i<=n; i++) cin>>v[i];
cout<<stat(v, 1, n, k);
return 0;
}