Pagini recente » Cod sursa (job #1352387) | Cod sursa (job #2968039) | Cod sursa (job #2849692) | Cod sursa (job #1944631) | Cod sursa (job #2977892)
#include <fstream>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int v[3000005], k;
void quicksort(int lf, int rg, int poz)
{
if (lf >= rg)
return;
int firstfree = lf;
int med = (lf + rg) / 2;
swap(v[rg], v[med]);
for (int i = lf; i <= rg - 1; i++)
if (v[i] < v[rg])
{
swap(v[i], v[firstfree]);
firstfree++;
}
swap(v[rg], v[firstfree]);
if (firstfree == poz)
return;
else if (firstfree > poz)
quicksort(lf, firstfree - 1, k);
else
quicksort(firstfree + 1, rg, k);
}
int main()
{
int n;
fin >> n >> k;
for (int i = 1; i <= n; i++)
fin >> v[i];
quicksort(1, n, k);
fout << v[k];
return 0;
}