Pagini recente » Borderou de evaluare (job #2353334) | Borderou de evaluare (job #750857) | Borderou de evaluare (job #1548748) | Cod sursa (job #3004210) | Cod sursa (job #2639910)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
const int N = 3000010;
int n,k,x[N];
void sorteaza(int,int);
int main()
{
f>>n>>k;
for(int i=1;i<=n;i++)
f>>x[i];
sorteaza(1,n);
g<<x[k];
return 0;
}
void sorteaza(int lo,int hi)
{
if(lo>=hi)
return;
int st=lo;
int dr=hi;
int mi=(lo+hi)/2;
int pivot = x[mi];
do
{
while(x[st]<pivot)
st++;
while(x[dr]>pivot)
dr--;
if(st<=dr)
{
swap(x[st],x[dr]);
st++;
dr--;
}
}
while(st<=dr);
sorteaza(lo,dr);
sorteaza(st,hi);
}