Pagini recente » Cod sursa (job #115515) | Cod sursa (job #3271908)
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("fast-math")
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int n, k, st, dr, v[16005], mid, sol, cnt, sum, maxi = -100000, mini = 100000;
ifstream fin("transport.in");
ofstream fout("transport.out");
int32_t main()
{
fin >> n >> k;
for(int i = 1; i <= n; ++i)
{
fin >> v[i];
maxi = max(maxi, v[i]);
}
st = maxi, dr = 20000;
while(st <= dr)
{
mid = (st + dr) / 2;
sum = cnt = 0;
for(int i = 1; i <= n; ++i)
{
if(sum + v[i] < mid)
{
sum += v[i];
}
else
{
sum = v[i];
cnt++;
}
}
if(cnt <= k)
{
sol = mid;
dr = mid - 1;
}
else
st = mid + 1;
}
fout << sol;
return 0;
}