Pagini recente » Cod sursa (job #2038053) | Cod sursa (job #2394740) | Cod sursa (job #2271937) | Cod sursa (job #1065721) | Cod sursa (job #1065719)
#include<fstream>
#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;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
srand(time(NULL));
fin>>N>>K;
for(i=1;i<=N;i++)
fin>>A[i];
dei(1,N);
fout<<A[K];
fin.close();
fout.close();
return 0;
}