Pagini recente » Cod sursa (job #1121150) | Cod sursa (job #2376837) | Cod sursa (job #2409012) | Cod sursa (job #367684) | Cod sursa (job #1574322)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int n, k, ans;
vector<int> v;
int routes(int capacity) {
int res = 0;
int i = 0;
while (i < n) {
int t = 0;
while (i < n && t < capacity) {
t += v[i];
++i;
}
++res;
}
++res;
return res;
}
int main()
{
ifstream cin("transport.in");
ofstream cout("transport.out");
cin >> n >> k;
for (int i = 0; i < n; ++i) {
int x;
cin >> x;
v.push_back(x);
}
int lo = 1, hi = 16000 * 16000;
while (hi - lo > 1) {
int mid = lo + (hi - lo) / 2;
if (routes(mid) <= k) {
hi = mid;
} else {
lo = mid;
}
}
cout << hi;
return 0;
}