Pagini recente » Cod sursa (job #1713310) | Cod sursa (job #2129731) | Cod sursa (job #265759) | Cod sursa (job #2905108) | Cod sursa (job #768921)
Cod sursa(job #768921)
#include<fstream>
#include<string>
using namespace std;
int a[3000005],N,K,sw;
string s;
void quicksort(int lb,int ub){
int i=lb,j=ub,p=a[(lb+ub)>>1];
do{
while(a[i]<p)++i;
while(a[j]>p)--j;
if(i<=j){ sw=a[i]; a[i]=a[j]; a[j]=sw; ++i; --j; }
}while(i<=j);
if(lb<j)quicksort(lb,j);
if(ub>i)
if(i<=K)quicksort(i,ub);
}
int main(void){
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int j,l,i,x;
fin>>N>>K; getline(fin,s);
getline(fin,s); l=s.length(); i=j=0;
while(j<l){
x=0;
while(s[j]<='9' && s[j]>='0' && j<l)x=(x*10)+(s[j++]-'0');
a[++i]=x; ++j;
}
for(int i=1;i<=N;++i)fin>>a[i];
quicksort(1,N);
fout<<a[K]<<'\n';
return 0;
}