Pagini recente » Cod sursa (job #114546) | Cod sursa (job #3210445) | Cod sursa (job #675898) | Cod sursa (job #900906) | Cod sursa (job #2281346)
#include<fstream>
#include<ctime>
#include<cstdlib>
using namespace std;
ifstream cin("sdo.in");
ofstream cout("sdo.out");
int n,k,a[3000005];
void Kth_element(int s,int d){
if(s>=d) return;
int pivot=s+rand()%(d-s+1);
swap(a[pivot],a[d]);
int j=s;
for(int i=s;i<d;i++)
if(a[i]<a[d]){
swap(a[j],a[i]);
++j;
}
swap(a[d],a[j]);
if(k==j) return;
if(k>j) Kth_element(j+1,d);
else Kth_element(s,j-1);
}
int main(){
srand(time(NULL));
cin>>n>>k;
for(int i=1;i<=n;i++)
cin>>a[i];
Kth_element(1,n);
cout<<a[k];
}