Pagini recente » Cod sursa (job #2065778) | Cod sursa (job #424499) | Cod sursa (job #128158) | Cod sursa (job #2027830) | Cod sursa (job #2739780)
#include <iostream>
#include <fstream>
using namespace std;
string file = "transport";
ifstream fin( file + ".in" );
ofstream fout( file + ".out" );
int n, k, v[16005],x;
inline bool capacitate( long long val ){
long long s = 0, nr = 1;
for( int i = 1; i < n; ++i ){
s+=v[i];
if( s > val )
return 0;
if( s + v[i+1] > val ){
s = 0;
nr++;
}
}
if(nr <= k)
return true;
return false;
}
inline void citire(){
fin>>n>>k;
for( int i = 1; i <= n; ++i )
fin>>v[i];
}
int main(){
citire();
long long st = 1;
long long dr = 16000*16000;
while( st <= dr ){
long long mid = (st + dr)/2;
if(capacitate(mid))
dr = mid - 1;
else
st = mid + 1;
}
fout<<st;
return 0;
}