Pagini recente » Cod sursa (job #2451197) | Cod sursa (job #3031454) | Cod sursa (job #1040573) | Cod sursa (job #1074) | Cod sursa (job #883319)
Cod sursa(job #883319)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int hi, lo = 1, mid;
int i, n, t, tmax, s, v[16005];
void go() {
t = 0;
i = 1;
while (i <= n) {
s = 0;
while (s < mid && i <= n) {
s += v[i];
++i;
}
if (s > mid)
--i;
++t;
}
}
int binarySearch() {
hi = 500;
while (lo <= hi) {
mid = lo + (hi - lo) / 2;
go();
if (t <= tmax)
hi = mid - 1;
else
lo = mid + 1;
}
if (t > tmax)
return mid + 1;
return mid;
}
int main() {
fin >> n >> tmax;
for (i = 1; i <= n; ++i)
fin >> v[i];
fout << binarySearch();
return 0;
}