Pagini recente » Cod sursa (job #1105459) | Cod sursa (job #1094913) | Cod sursa (job #2949499) | Cod sursa (job #2287171) | Cod sursa (job #1363708)
#include <bits/stdc++.h>
using namespace std;
const int Nmax = 3000000 + 1;
int v[Nmax];
int N, K;
void QS(int st, int dr, int k)
{
int i = st, j = dr, p = v[(i + j) / 2];
do
{
while ( v[i] < p ) i++;
while ( v[j] > p ) j--;
if ( i <= j )
{
swap(v[i], v[j]);
i++;
j--;
}
} while(i < j);
if ( i < dr && i <= K && K <= dr )
QS(i, dr, k);
if ( st < j && st <= K && K <= j )
QS(st, j, k);
}
int main()
{
ifstream in("sdo.in");
ofstream out("sdo.out");
ios_base::sync_with_stdio(false);
in >> N >> K;
for ( int i = 1; i <= N; ++i )
in >> v[i];
QS(1, N, K);
out << v[K] << "\n";
return 0;
}