Pagini recente » Cod sursa (job #707936) | Cod sursa (job #1999705) | Cod sursa (job #1336499) | Cod sursa (job #2071806) | Cod sursa (job #374280)
Cod sursa(job #374280)
# include <fstream.h>
# include <stdlib.h>
ifstream f ("sdo.in");
ofstream g("sdo.out");
int a[3000005],i,n,aux,k,x,y;
void rez (int st,int dr)
{
int i=st,j=dr,i1=0,j1=-1;
if (dr>st)
{
y=(rand ()%(dr-st))+st;
aux=a[st];
a[st]=a[y];
a[y]=aux;
}
while (i<j)
{
if (a[i]>a[j])
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
aux=i1;
i1=-j1;
j1=-aux;
}
i=i+i1;
j=j+j1;
}
if (i==k)
g<<a[i];
else
{
if (i>k)
rez (st,i-1);
else
rez (i+1,dr);
}
}
int main ()
{
f>>n>>k;
for (i=1;i<=n;i++)
f>>a[i];
rez (1,n);
return 0;
}