Pagini recente » Cod sursa (job #899130) | Cod sursa (job #2510466) | Cod sursa (job #2429162) | Cod sursa (job #1213528) | Cod sursa (job #2837920)
#include <iostream>
#include <iomanip>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
const int N = 16000;
long long n, i, k, l, r, mid, ans, s, nr, sum, mx = -1;
long long v[N];
int main()
{
fin >> n >> k;
for(i = 1; i <= n; i++)
fin >> v[i], mx = max(mx, v[i]), sum += v[i];
l = mx; r = sum;
while(l <= r){
mid = l + (r - l) / 2;
i = 1;
nr = 0;
while(i <= n && nr <= k){
s += v[i];
if(s > mid) s = 0, nr++;
else i++;
}
// fout << nr << " " << mid << "\n";
if(nr <= k) ans = mid, r = mid - 1;
else l = mid + 1;
}
fout << ans;
return 0;
}