Pagini recente » Cod sursa (job #1459241) | Cod sursa (job #567350) | Cod sursa (job #595647) | Cod sursa (job #3205923) | Cod sursa (job #3141419)
#include <fstream>
#include <algorithm>
using namespace std;
int n, V[3000001];
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int Nth_element(int V[1001], int st, int dr, int k){
if(st < dr){
int position = dr;
int pivot = V[dr];
int i = st - 1, j = st;
for(int j = st; j < dr; ++j)
if(V[j] < pivot){
i++;
swap(V[i], V[j]);
}
swap(V[i + 1], V[position]);
if(i + 1 == k)
return V[i + 1];
else
if(i + 1 > k)
return Nth_element(V, st, i, k);
else
return Nth_element(V, i + 2, dr, k);
}
return 0;
}
int main()
{
int n, k;
fin >> n >> k;
for(int i = 1; i <= n; ++i){
fin >> V[i];
}
fout << Nth_element(V, 1, n, k);
}