Pagini recente » Cod sursa (job #2984073) | Cod sursa (job #1240668) | Cod sursa (job #2570477) | Cod sursa (job #2459883) | Cod sursa (job #3298860)
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast,unroll-loops")
using namespace std;
int n, k;
int v[16001];
bool check(int cap) {
int cnt = 1, s = 0;
for(int i = 0; i < n; i++) {
if (v[i] > cap) return false;
if(s + v[i] <= cap)
s += v[i];
else
cnt++,
s = v[i];
}
return cnt <= k;
}
signed main(void) {
ifstream cin("transport.in");
ofstream cout("transport.out");
cin >> n >> k;
for(int i = 0; i < n; i++)
cin >> v[i];
int l = 1, r = 16000*16000, ans = r;
while(l <= r) {
int mid = (l+r)/2;
if (check(mid))
ans = mid,
r = mid - 1;
else
l = mid + 1;
}
cout << ans << '\n';
return 0;
}