Pagini recente » Cod sursa (job #2502095) | Cod sursa (job #121850) | Cod sursa (job #2291733) | Cod sursa (job #1247836) | Cod sursa (job #2803373)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int main()
{
int v[16005], n, k, st, dr, mijl, cont, s = 0, nr;
f >> n >> k;
for (int i = 1; i <= n; i++)
{
f >> v[i];
}
st = 1;
dr = n * n;
while (st != dr)
{
s = 0;
cont = 1;
mijl = (st + dr) / 2;
for (int i = 1; i <= n; i++)
{
if (s + v[i] <= mijl)
{
s += v[i];
}
else {
s = v[i];
cont++;
}
}
if (cont <= k)
{
dr = mijl;
}else{
st = mijl + 1;
}
}
g << st;
return 0;
}