Pagini recente » Cod sursa (job #3197288) | Cod sursa (job #263663) | Cod sursa (job #3134650) | Cod sursa (job #655060) | Cod sursa (job #1708603)
#include <cstdio>
int v[16005], n, k;
using namespace std;
inline int volum( int l )
{
int i, j=1, s=0;
for( i=1;i<=n;i++ )
if( s+v[i]<=l )
s+=v[i];
else
if( v[i]<=l )
{
s=v[i];
j++;
}
else
return 1;
return j>k;
}
int main()
{
freopen( "transport.in", "r", stdin );
freopen( "transport.out", "w", stdout );
int i, pas;
scanf( "%d%d", &n, &k );
for( i=1;i<=n;i++ )
scanf( "%d", &v[i] );
pas=1<<30;
i=0;
while( pas!=0 )
{
if( volum(i+pas) )
i+=pas;
pas/=2;
}
printf( "%d", i+1 );
return 0;
}