Pagini recente » Cod sursa (job #56356) | Cod sursa (job #290841) | Cod sursa (job #1936747) | Cod sursa (job #1408970) | Cod sursa (job #3324724)
#include <iostream>
#include <vector>
using namespace std;
int nr[1001];
int n, k;
int pivotare(int st, int dr)
{
int i = st;
int pivot = nr[dr];
for(int j = st; j < dr; j++)
{
if(nr[j] <= pivot)
{
swap(nr[j], nr[i]);
i++;
}
}
swap(nr[dr], nr[i]);
return i;
}
int QS(int st, int dr)
{
if(st<dr)
{
int indice = pivotare(st, dr);
if(k == indice)
return nr[k];
if(k < indice)
{
QS(st, indice-1);
}
else
QS(indice+1, dr);
}
}
int main()
{
cin >> n >> k;
for(int i = 1; i <= n; i++)
{
cin >> nr[i];
}
cout << QS(1, n);
return 0;
}