Pagini recente » Cod sursa (job #1037837) | Cod sursa (job #84615) | Cod sursa (job #2376993) | Cod sursa (job #345268) | Cod sursa (job #1255619)
//Roberto Deresu - FMI
//Re :)
#include<fstream>
#define nx 3000007
using namespace std;
int n,i,k,v[nx];
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int quick(int l,int r)
{
int p,i,j;
p=v[(l+r)/2];
i=l;
j=r;
while(1)
{
while(v[i]<p)i++;
while(v[j]>p)j--;
if(i<j) v[i]=v[i]^v[j]^(v[j]=v[i]),i++,j--;
else return j;
}
return 0;
}
void cauta(int l, int r, int k)
{
int m,nr;
if(l==r) return;
nr=quick(l,r);
m=nr-l+1;
if(m>=k) cauta(l,nr,k);
else cauta(nr+1,r,k-m);
}
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++)
fin>>v[i];
cauta(1,n,k);
fout<<v[k];
return 0;
}