Pagini recente » Cod sursa (job #1815219) | Cod sursa (job #2198741) | Cod sursa (job #2331697) | Cod sursa (job #2777253) | Cod sursa (job #381468)
Cod sursa(job #381468)
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;
int v[3000010],i,p,u,k,n,m;
/*int part(int v[],int li,int lf){
int s=li,i,p,d = lf;
p = v[li + (rand()%(lf-li+1))];
while(1){
while(v[s] < p)s++;
while(v[d] > p)d--;
if(s < d) swap(v[s],v[d]);
else
return d;
}
}*/
/*int part(int A[], int li, int lf)
{
int i = li-1, j = lf+1, p = A[li + (rand()%(lf-li+1))];
while(1)
{
do
{
++i;
} while(A[i] < p);
do
{
--j;
} while(p < A[j]);
if(i < j)
swap(A[i], A[j]);
else
return j;
}
return 0;
}
*/
/*int part(int a[],int li,int lf){
int i = li,j = lf,s = 1,d = 0,p = li + (rand()%(lf-li+1));
swap(a[p],a[j]);
int aux;
while(i < j)
{if(a[i] > a[j])
{swap(a[i],a[j]);
aux = -s;
s = -d;
d = aux;
}
i+=s;
j+=d;
}
return i;
}*/
int main(){
freopen("sdo.in","r",stdin);
freopen("sdo.out","w",stdout);
scanf("%d %d",&n,&k);
for(i = 1; i <= n ; i++)
scanf("%d",&v[i]);
/*srand(time(0));
p = 1; u = n;
while(true){
m = part(v,p,u);
if(m == k){printf("%d",v[k]);return 0;}
else
if(m > k){u = m - 1;}
else
p = m + 1;
}
*/
sort(v+1,v+1+n);
printf("%d",v[k]);
return 0;}