Pagini recente » Cod sursa (job #2659816) | Cod sursa (job #1989196) | Cod sursa (job #2553848) | Cod sursa (job #801807) | Cod sursa (job #2372631)
#include <bits/stdc++.h>
#include <fstream>
#define NMAX 16005
using namespace std;
ifstream f ( "transport.in" );
ofstream g ( "transport.out" );
long long int n , m , i , j , k , v[NMAX] , val , nr;
bool ver ( int val )
{
long long aux;
long long nr;
int i;
for ( i = 1 ; i <= n ; i ++ )
{
if ( v[i] > val )
return 0;
if ( v[i] > aux )
{
nr ++;
aux = val;
}
aux -= v[i];
}
if ( nr <= k )
return 1;
return 0;
}
int cautare_binara ()
{
long long int mij;
long long l;
long long r;
int minn;
mij = 0;
l = 1;
r = NMAX * NMAX;
minn = -1;
while ( l <= r )
{
mij = ( r - l ) / 2 + l;
if ( ver ( mij ) != 0 )
{
minn = mij;
r = mij - 1;
}
else
l = mij + 1;
}
return minn;
}
int main()
{
f >> n;
f >> k;
for ( i = 1 ; i <= n ; i ++ )
f >> v[i];
g << cautare_binara();
return 0;
}