Pagini recente » Cod sursa (job #1811796) | Cod sursa (job #2467168) | Cod sursa (job #3204234) | Cod sursa (job #1591258) | Cod sursa (job #1814919)
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <algorithm>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int n, k, v[500001];
void quick_sort(int st, int dr){
int i = st, j = dr, aux;
int pivot = v[rand() %(dr - st + 1) + st];
do{
while(v[i] < pivot && i <= dr){
i++;
}
while(v[j] > pivot && j >= st){
j--;
}
if(i <= j){
aux = v[i];
v[i] = v[j];
v[j] = aux;
i++;
j--;
}
}while(i <= j);
if(st < j)
if(st > k) quick_sort(st, j);
else if(st == k) fout<<pivot;
else if(dr > i)quick_sort(i, dr);
}
int main()
{
int i;
fin>>n>>k;
for(i = 1; i <= n; ++i){
fin>>v[i];
}
quick_sort(1, n);
return 0;
}