Pagini recente » Cod sursa (job #1770993) | Cod sursa (job #897911) | Cod sursa (job #2964787) | Cod sursa (job #676711) | Cod sursa (job #2866961)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("transport.in");
ofstream out ("transport.out");
int a[16001];
int main()
{
int n, k;
in >> n >> k;
for (int i=1; i<=n; i++)
in >> a[i];
int l=1, r=10e8;
int mid;
while (l<r)
{
int cnt = 0;
mid = (l+r)/2;
for (int i=1; i<=n && cnt <= k;)
{
long long sum = 0;
int j=i;
while (sum + a[j] <= mid)
{
sum += a[j];
j++;
}
i=j;
cnt ++;
}
if (cnt <= k)
r = mid;
else
l = mid+1;
}
out << r;
return 0;
}