Pagini recente » Cod sursa (job #2490002) | Cod sursa (job #2295334) | Cod sursa (job #1807002) | Cod sursa (job #214341) | Cod sursa (job #2830362)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int dim = 16005;
ll a[dim], n, k;
ll HowMany(ll cap)
{
ll trans = 1, s = 0;
for(ll i = 1; i <= n; i++)
{
if(s + a[i] <= cap)
s += a[i];
else
trans++, s = a[i];
}
return trans;
}
int main()
{
ifstream f("transport.in");
ofstream g("transport.out");
f >> n >> k;
for(ll i = 1; i <= n; i++)
f >> a[i];
ll left = 1, right = dim * dim, sol;
while(left <= right)
{
ll mid = (left + right) / 2;
if(HowMany(mid) <= k)
right = mid - 1, sol = mid;
else
left = mid + 1;
}
g << 1LL * sol;
return 0;
}