Pagini recente » Cod sursa (job #1273938) | Cod sursa (job #2586110) | Cod sursa (job #2556112) | Cod sursa (job #582487) | Cod sursa (job #3274295)
#include <bits/stdc++.h>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int main() {
int n, k;
f >> n >> k;
int v[n+1];
for( int i = 1; i <= n; ++i )
{
f >> v[i];
}
long long st = 1, dr = 256000001, mij;
while( st < dr )
{
mij = st + (dr-st)/2;
///[st, mij] [mij+1, dr]
int cnt = 0;
long long q = 0;
for( int i = 1; i <= n; ++i )
{
if( q + v[i] >= mij )
++cnt, q = 0;
q += v[i];
}
//cout << mij << " " << cnt << "\n";
if( cnt <= k )
dr = mij;
else
st = mij+1;
}
g << st;
return 0;
}