Pagini recente » Cod sursa (job #755363) | Cod sursa (job #1590175) | Cod sursa (job #199761) | Cod sursa (job #1455205) | Cod sursa (job #1299700)
#include <fstream>
using namespace std;
void quickSort(int left, int right, int k, int a[]);
int main()
{
int n, k, i;
ifstream f("sdo.in");
f >> n >> k;
int M[n];
for (i = 0; i < n; i++)
f >> M[i];
f.close();
quickSort(0, n - 1, k, M);
ofstream g("sdo.out");
g << M[k - 1];
g.close();
return 0;
}
void quickSort(int left, int right, int k, int a[])
{
int i = left, j = right;
int pivot = a[(left + right) / 2];
int aux;
while (i <= j)
{
while (a[i] < pivot)
i++;
while (a[j] > pivot)
j--;
if (i <= j)
{
aux = a[i];
a[i] = a[j];
a[j] = aux;
i++;
j--;
}
}
if (left < j && (j - left) + 1 >= k)
quickSort(left, j, k, a);
else if (i < right && (right - i) + 1 >= k)
quickSort(i, right, k, a);
}