Pagini recente » Cod sursa (job #367364) | Cod sursa (job #606892) | Cod sursa (job #537744) | Cod sursa (job #2491684) | Cod sursa (job #2487386)
#include <bits/stdc++.h>
using namespace std;
const int MAX = 16005;
int N, K, v[MAX], l, r;
int main() {
ifstream fin("transport.in");
ofstream fout("transport.out");
fin >> N >> K;
for(int i = 1; i <= N; ++i)
fin >> v[i], l = max(l, v[i]), r += v[i];
int ans = r;
while(l <= r) {
int volum = (l + r) >> 1, d = 1, s = 0;
for(int i = 1; i <= N; ++i) {
s += v[i];
if(s > volum) d++, s = v[i];
}
(d > K) ? l = volum + 1 : r = volum - 1, ans = volum;
}
fout << ans;
}