Pagini recente » Cod sursa (job #815664) | Cod sursa (job #173333) | Cod sursa (job #2485928) | Cod sursa (job #1757888) | Cod sursa (job #1026757)
#include <fstream>
using namespace std;
ifstream fin ( "transport.in" ) ;
ofstream fout ( "transport.out" ) ;
int n , k , vect [16001] , i , c , nr ;
long long unsigned st = 0 , dt = 25600001 , m ;
int main()
{
fin >> n >> k ;
for ( i = 1 ; i <= n ; i ++ ){
fin >> vect[i] ;
if ( vect[i] > st ){
st = vect[i] ;
}
}
while ( st < dt ){
nr = 1 ; c = 0 ;
m = ( st + dt ) / 2 ;
for ( i = 1 ; i <= n ; i ++ ){
if ( c + vect[i] <= m ){
c += vect[i] ;
}
else {
c = vect[i] ;
nr ++ ;
}
}
if ( nr > k ){
st = m + 1 ;
}
else {
dt = m ;
}
}
fout << st ;
return 0;
}