Pagini recente » Cod sursa (job #784990) | Cod sursa (job #126259) | Cod sursa (job #85617) | Cod sursa (job #67970) | Cod sursa (job #672813)
Cod sursa(job #672813)
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream in("sdo.in");
ofstream out ("sdo.out");
int n, v[3000000],k;
void citire () {
in >> n>>k;
for (int i = 1 ; i <= n ;++i) {
in >> v[i];
}
}
int quickSort (int l, int r) {
if (l>r)return - 1;
if(l==r) return v[l];
int aux,poz=l+rand()%(r-l+1),pivot=v[poz],i,j;
aux = v[poz];
v[poz]=v[r];
v[r]=aux;
for (i=j=l;i<r;++i){
if(v[i]<=pivot){
aux=v[j];
v[j]=v[i];
v[i]=aux;
j++;
}
}
aux = v[j];
v[j]=v[r];
v[r]=aux;
if (j == k) {
return v[j];
}
if(j > k) {
return quickSort (l,j);
}
return quickSort(j+1,r);
}
int main () {
citire ();
out << quickSort(1,n) << '\n';
return 0;
}