Pagini recente » Cod sursa (job #433094) | Cod sursa (job #2786204) | Cod sursa (job #1526477) | Cod sursa (job #2849537) | Cod sursa (job #1438120)
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <ctime>
#include <iomanip>
#define UI long long
#define DN 3000005
using namespace std;
int main(){
UI n, x;
int pos, left, right, st;
UI v[DN];
ifstream fin("sdo.in");
ofstream fout("sdo.out");
fin >> n >> st;
--st;
for(int i = 0; i < n; ++i){
fin >> v[i];
}
left = 0, right = n;
do {
srand(time(NULL));
pos = left + rand() % (right-left);
for(int i = left; i < right; ++i){
if((v[i] < v[pos] && i > pos) || (v[i] > v[pos] && i < pos)){
swap(v[i], v[pos]);
pos = i;
}
}
if(pos <= st)
left = pos + 1;
else
right = pos;
} while(pos != st);
fout << v[pos];
return 0;
}