Pagini recente » Cod sursa (job #359225) | Cod sursa (job #2704618) | Cod sursa (job #2784943) | Cod sursa (job #2152168) | Cod sursa (job #2487428)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream cinn ("sdo.in");
ofstream coutt ("sdo.out");
unsigned long long a[4000005];
int Partition(int start, int end,unsigned long long *a){
int Pivot = a[end];
int partindex = start;
for(int i = start; i < end;i++){
if(a[i] <= Pivot){
swap(a[i], a[partindex]);
partindex++;
}
}
swap(a[partindex],a[end]);
return partindex;
}
void quicksort(int start, int end , unsigned long long *a){
if (start < end){
int partindex = Partition(start,end,a);
quicksort(start,partindex-1,a);
quicksort(partindex+1,end,a);
}
}
int main(){
int n,k;
cinn >> n>>k;
for(int i =0;i<n;i++){
cinn >> a[i];
}
quicksort(0,n-1,a);
coutt << a[k-1];
}