Pagini recente » Cod sursa (job #174931) | Cod sursa (job #1778064) | Cod sursa (job #1554768) | Cod sursa (job #201421) | Cod sursa (job #1520220)
#include <fstream>
using namespace std;
int v[3000000], n,k,stg,dr,li,ls,mij;
ifstream in("sdo.in");
ofstream out("sdo.out");
int main()
{ in>>n>>k;
int i;
for(i=1;i<=n;i++)
in>>v[i];
li=1;
ls=n;
while(li<ls)
{stg=li;
dr=ls;
mij=(li+ls)/2;
while(stg<=dr)
{while(stg<dr && v[dr]>v[mij])
dr--;
v[stg]=v[dr];
while(stg<dr && v[stg]<v[mij])
stg++;
v[dr]=v[stg];
v[stg]=v[mij];
dr--;
stg++;
}
if(k<=dr)
ls=dr;
else
if(k>=stg)
li=stg;
else
li=ls=k;
}
out<<v[k];
return 0;
}