Pagini recente » Statistici Alexandru Dumitru Ion (ionalexandru98) | Cod sursa (job #181290) | Istoria paginii utilizator/fakeacc | Istoria paginii utilizator/mentallysafenot | Cod sursa (job #1065717)
#include<cstdio>
#include<ctime>
#include<algorithm>
#include<cstdlib>
using namespace std;
int A[3000005],N,K;
void dei(int st,int dr)
{
if(st==dr) return;
int i=st,j=dr,p=A[st+rand()%(dr-st+1)];
for(;;)
{
while(A[i]<p) i++;
while(p<A[j]) j--;
if(i<j) swap(A[i],A[j]);
else break;
}
if(i>=K) dei(st,i);
else dei(i+1,dr);
}
int main()
{
int i;
freopen("sdo.in","r",stdin);
freopen("sdo.out","w",stdout);
srand(time(NULL));
scanf("%d%d",&N,&K);
for(i=1;i<=N;i++)
scanf("%d",&A[i]);
dei(1,N);
printf("%d\n",A[K]);
return 0;
}