Pagini recente » Cod sursa (job #1003267) | Cod sursa (job #1910351) | Cod sursa (job #701692) | Cod sursa (job #1019510) | Cod sursa (job #1021015)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("sdo.in");
ofstream out ("sdo.out");
int N, v[3000005], k;
void swap (int &a, int &b)
{
int aux=a;
a=b;
b=aux;
}
void sort(int a, int b)
{
if (a>b)
return;
int poz_piv=(a+b)/2;
int pivot=v[poz_piv];
int begin=a, end=b;
while (begin<=end)
{
while (v[begin]<pivot)
++begin;
while (v[end]>pivot)
--end;
if (begin<=end)
{
swap (v[begin], v[end]);
++begin;
--end;
}
}
if (k>end)
sort(begin, b);
else
sort(a, end);
}
int main()
{
in>>N;
in>>k;
--k;
for (int i=0;i<N;++i)
in>>v[i];
sort(0, N-1);
out<<v[k];
return 0;
}