Pagini recente » Cod sursa (job #2364948) | Cod sursa (job #1373896) | Istoria paginii runda/jc2023-runda1 | Cod sursa (job #892874) | Cod sursa (job #1299732)
#include <fstream>
using namespace std;
void quickSort(int left, int right, int k, long long a[]);
int main()
{
int n, k, i;
ifstream f("sdo.in");
f >> n >> k;
long long 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];
/*for (i = 0; i < n; i++)
g << M[i] << " ";*/
g.close();
return 0;
}
void quickSort(int left, int right, int k, long long a[])
{
int i = left, j = right;
long long pivot = a[(left + right) / 2];
long long 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 && k >= left + 1 && k <= i + 1)
quickSort(left, j, k, a);
else if (i < right && k >= i + 1 && k <= right + 1)
quickSort(i, right, k, a);
}