Pagini recente » Cod sursa (job #2525458) | Cod sursa (job #585819) | Cod sursa (job #556125) | Cod sursa (job #1074470) | Cod sursa (job #373493)
Cod sursa(job #373493)
#include<fstream>
#include<ctime>
#include<cstdlib>
using namespace std;
int a[3000003];
void Quick(int* t,int st,int dr,int k) //Sortarea rapida
{int i=st,j=dr,w,piv=t[(i+j)/2];
do {while(t[i] < piv) i++; while(t[j] > piv) j--;
if(i <= j) {w=t[i]; t[i]=t[j]; t[j]=w; i++; j--;}
} while(j >= i);
int temp1=j-st+1;
int temp2=i-st+1;
if(st<j)
{if(k<temp1) Quick(t,st,j,k);
else Quick(t,j,dr,k-temp1);
}}
int main()
{int n,k;
srand(time(NULL));
freopen("sdo.in","r",stdin);
freopen("sdo.out","w",stdout);
scanf("%d %d",&n,&k);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
Quick(a,1,n,k);
printf("%d",a[k]);
return 0;}