Pagini recente » Cod sursa (job #1880771) | Cod sursa (job #33751) | Cod sursa (job #1009483) | Cod sursa (job #2499091) | Cod sursa (job #2281345)
#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=a[s+rand()%(d-s+1)];
int i=s,j=d;
while(i<=j){
while(a[i]<pivot) ++i;
while(a[j]>pivot) --j;
if(i<=j){
swap(a[i],a[j]);
++i; --j;
}
}
if(k<=j) Kth_element(s,j);
else Kth_element(j+1,d);
}
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];
}