Pagini recente » Cod sursa (job #2431707) | Cod sursa (job #3125650) | Cod sursa (job #62611) | Cod sursa (job #105756) | Cod sursa (job #659774)
Cod sursa(job #659774)
#include<stdio.h>
#include<algorithm>
using namespace std;
long int v[3000001];
long int quicksort(long int stanga,long int dreapta,long int sdo)
{
long int mijloc=v[(stanga+dreapta)/2];
long int i=stanga,j=dreapta;
while(i<=j)
{
while(v[i]<mijloc)
i++;
while(v[j]>mijloc)
j--;
if(i<=j)
{
swap(v[i],v[j]);
i++;j--;
}
}
if(sdo>=stanga&&sdo<=j)
if(j>stanga)
quicksort(stanga,j,sdo);
if(sdo>=i&&sdo<=dreapta)
if(i<dreapta)
quicksort(i,dreapta,sdo);
if(sdo==stanga)
return stanga;
if(sdo==dreapta)
return dreapta;
}
int main()
{
freopen("sdo.in","r",stdin);
freopen("sdo.out","w",stdout);
long int n,k,sdo,i;
scanf("%ld",&n);
scanf("%ld",&k);
for(i=1;i<=n;i++)
scanf("%ld",&v[i]);
printf("%ld",v[quicksort(1,n,k)]);
return 0;
}