Pagini recente » Cod sursa (job #1319628) | Cod sursa (job #1029199) | Cod sursa (job #2780618) | Cod sursa (job #689064) | Cod sursa (job #2291828)
#include<fstream>
#include<time.h>
#include<stdlib.h>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
long n;
long choose_rand(long a, long b, long c){
if((a < b && b < c) || (c < b && b < a))
return b;
if((a > b && c > a) || (a < b && c < a))
return a;
return c;
}
void quicksort(long a[], long left, long right){
long i = left;
long j = right;
long aux;
long rand1 = rand() % n;
long rand2 = rand() % n;
long rand3 = rand() % n;
long pivot = a[choose_rand(rand1, rand2, rand3)];
while(i <= j){
while(a[i] < pivot)
i++;
while(pivot < a[j])
j--;
if(i <= j){
aux = a[i];
a[i] = a[j];
a[j] = aux;
i++;
j--;
}
}
if(i < right)
quicksort(a, i, right);
if(j > left)
quicksort(a, left, j);
}
int main()
{
long k;
f>>n>>k;
long a[n];
srand (time(NULL));
for(long i = 0 ; i < n ; i++)
f>>a[i];
quicksort(a, 0, n - 1);
g<<a[k-1];
return 0;
}