Pagini recente » Cod sursa (job #53517) | Cod sursa (job #2144873) | Cod sursa (job #52370) | Cod sursa (job #2637796) | Cod sursa (job #2604534)
#include<bits/stdc++.h>
using namespace std;
ifstream in("sdo.in");
ofstream out("sdo.out");
int values[3000000],num_values,k;
void read(){
in>>num_values>>k;
for(int i=0;i<num_values;i++)
in>>values[i];
k--;
}
int partition(int left,int right){
int pivot=values[right];
int i=left;
for(int j=left;j<=right;j++){
if(values[j]<pivot){
swap(values[i],values[j]);
i++;
}
}
swap(values[i],values[right]);
return i;
}
void qsort(int left,int right,int k){
if(left>=right)
return;
int piv=partition(left,right);
if(k<piv)
qsort(left,piv-1,k);
else if (k>piv)
qsort(piv+1,right,k);
}
int main(){
read();
qsort(0,num_values-1,k);
out<<values[k];
return 0;
}