Pagini recente » Cod sursa (job #2669020) | Cod sursa (job #694335) | Cod sursa (job #706718) | Cod sursa (job #3255883) | Cod sursa (job #1017043)
#include <fstream>
using namespace std;
ifstream cin("sdo.in");
ofstream cout("sdo.out");
int n, v[3000001], i, k;
int stat(int v[], int st, int dr, int k)
{
int i=st, j=dr;
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);
return v[k];
}
int main()
{
cin>>n>>k;
for (i=1; i<=n; i++) cin>>v[i];
cout<<stat(v, 1, n, k);
return 0;
}