Pagini recente » Cod sursa (job #347071) | Cod sursa (job #146773) | Cod sursa (job #2835667) | Cod sursa (job #1121320) | Cod sursa (job #1281380)
#include<fstream>
#include<ctime>
#include<cstdlib>
using namespace std;
int n, v[3000003], nr, i;
ifstream in("sdo.in");
ofstream out("sdo.out");
int poz(int p, int u){
int t=p+rand()%(u-p);
int i=p; int j=u;
int ii=0; int jj=-1;
while(i!=j){
if(v[i]>v[j]){
swap(v[i], v[j]);
swap(ii, jj);
ii=-ii;
jj=-jj;
}
i+=ii;
j+=jj;
}
return i;
}
void sort(int p, int u){
int k=poz(p, u);
if(k==nr){
out<<v[k];
return;
}
if(k>nr)
sort(p, k-1);
else
sort(k+1, u);
}
int main(){
srand(time(0));
in>>n>>nr;
for(i=1; i<=n; i++)
in>>v[i];
sort(1, n);
return 0;
}