Pagini recente » Cod sursa (job #479736) | Cod sursa (job #2948899) | Cod sursa (job #2820421) | Cod sursa (job #2087333) | Cod sursa (job #1842653)
#include <bits/stdc++.h>
#include <algorithm>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
int n,k,i,x[3000010];
void go(int,int);
int main()
{
f>>n>>k;
for(i=1;i<=n;i++)
f>>x[i];
go(1,n);
g<<x[k];
return 0;
}
void go(int lo,int hi)
{
int st=lo,dr=hi,mi;
if(lo==hi)return;
do
{
mi=x[(lo+hi)/2];
while(x[st]<mi)st++;
while(x[dr]>mi)dr--;
if(st<dr){swap(x[st],x[dr]);st++;dr--;}
}
while(st<=dr);
if(k<=dr)go(lo,dr);
else go(st,hi);
}