Pagini recente » Cod sursa (job #2378240) | Cod sursa (job #892377) | Cod sursa (job #2998737) | Cod sursa (job #751303) | Cod sursa (job #377662)
Cod sursa(job #377662)
#include<fstream.h>
#include<iostream.h>
long a[3000000],n,k;
void ex(long i,long j)
{
long aux=a[i];
a[i]=a[j];
a[j]=aux;
}
void qs(long i,long j)
{
long s=i,d=j,piv=(i+j)>>1;
while(s<=d)
{
while(a[s]<a[piv])s++;
while(a[d]>a[piv])d--;
if(s<=d)
{
ex(s,d);
s++;
d--;
}
}
if(i<d&&k<=d) qs(i,d);
if(s<j&&s<=k) qs(s,j);
}
int main()
{
long i;
ifstream f("sod.in");
ofstream g("sod.out");
f>>n>>k;
for(i=1;i<=n;i++)f>>a[i];
qs(1,n);
g<<a[k];
return 0;
}