Pagini recente » Cod sursa (job #133682) | Cod sursa (job #1625512) | Cod sursa (job #1138425) | Cod sursa (job #2894832) | Cod sursa (job #1016961)
#include <fstream>
using namespace std;
ifstream cin("sdo.in");
ofstream cout("sdo.out");
int stat(int v[], int st, int dr, int k)
{
int i=st, j=dr;
if(i==j) return v[i];
int 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()
{
int n, v[500001], i, k;
cin>>n>>k;
for (i=1; i<=n; i++) cin>>v[i];
cout<<stat(v, 1, n, k);
return 0;
}