Pagini recente » Profil h0pZy | Cod sursa (job #854625) | Cod sursa (job #2667690) | Cod sursa (job #2813930) | Cod sursa (job #2182185)
#include <fstream>
using namespace std;
ifstream fin( "transport.in" );
ofstream fout( "transport.out" );
int const L = 27;
int v[160001], n, k;
bool sepoate( int c )
{
int nr = 0, cc = 0;
for ( int i = 0; i < n; i++ )
{
if ( v[i] < cc )
{
nr++;
cc = c;
}
if( v[i] > cc )
{
return false;
}
if ( nr > k )
{
return false;
}
cc = v [i];
}
return true;
}
int main ()
{
fin >> n >> k;
for ( int i = 0; i < n; i++ )
{
fin >> v[i];
}
int r = 0, pas=1<<L;
while ( pas != 0 )
{
if ( !sepoate ( r + pas ) )
{
r += pas;
}
pas /= 2;
}
fout << r + 1;
fin.close();
fout.close();
return 0;
}