Pagini recente » Cod sursa (job #2940435) | Cod sursa (job #2532661) | Cod sursa (job #1933047) | Cod sursa (job #2940436) | Cod sursa (job #2955962)
#include <bits/stdc++.h>
#define int long long
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int n, k, i, maxx, sum, st, dr, mid, transp, capCur, v[16000];
int32_t main()
{
fin >> n >> k;
for (i = 0; i < n; ++i){
fin >> v[i];
sum += v[i];
maxx = max(maxx, v[i]);
}
st = maxx; dr = sum;
while (st <= dr){
mid = (st + dr) / 2;
transp = 1; capCur = 0;
for (i = 0; i < n; ++i){
capCur += v[i];
if (capCur > mid){
capCur = v[i];
transp++;
}
}
if (transp > k)
st = mid + 1;
else
dr = mid - 1;
}
fout << st;
return 0;
}