Pagini recente » Cod sursa (job #1459695) | Cod sursa (job #2584677) | Cod sursa (job #594110) | Cod sursa (job #2349562) | Cod sursa (job #429126)
Cod sursa(job #429126)
#include<fstream>
//#include<time.h>
//#include<stdlib.h>
#define Nmax 3000010
using namespace std;
int v[Nmax],K,i,n;
int sdo ( int s, int d )
{
int i=s,j=d,aux;
//int p = v [ i + rand() % (j-i+1) ];
int p = v [ (i+j)>>1 ];
while(i<j)
{
while(v[i]<p) i++;
while(v[j]>p) j--;
aux=v[i]; v[i]=v[j]; v[j]=aux;
}
if( i == K ) return v[i];
if( i > K ) return sdo(s,i-1);
else return sdo(i+1,d);
}
int main()
{
// srand(time(0));
ifstream f("sdo.in");
ofstream g("sdo.out");
f>>n>>K;
for(i=1;i<=n;i++)
f>>v[i];
g<<sdo(1,n);
f.close();
g.close();
return 0;
}