Pagini recente » Cod sursa (job #1169093) | Cod sursa (job #2372299) | Cod sursa (job #2725283) | Cod sursa (job #1148270) | Cod sursa (job #760561)
Cod sursa(job #760561)
#include<fstream>
#define nmax 3000006
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int N, v[nmax], kstat;
bool verifica(int);
int bs()
{
int step = 1, i;
for( ; step <= 1<<31; step <<= 1);
// fout <<step <<'\n';
for(i = 0; step ; step >>= 1)
while( verifica(i+step) )
i+=step ;//,fout << i <<'\n';
return i;
}
bool verifica(int x)
{
int nr = 0 ;
for(int i = 1; i <= N; i++)
if(v[i] <= x)
nr++;
if(nr <= kstat)
return true;
return false;
}
int main()
{
fin >>N >> kstat;
for(int i = 1; i <= N; i++)
fin >>v[i];
//fout<<verifica(12)<<'\n';
fout << bs();
fin.close();
return 0;
}