Pagini recente » Cod sursa (job #2853718) | Cod sursa (job #2868342) | Cod sursa (job #2633440) | Cod sursa (job #1140197) | Cod sursa (job #1438135)
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <ctime>
#include <iomanip>
#define UI unsigned int
#define DN 3000005
using namespace std;
UI v[DN];
int main(){
UI n, x;
int pos, left, right, st;
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){
swap(v[pos], v[pos + 1]);
swap(v[pos], v[i]);
++pos;
}
else if (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;
}