Pagini recente » Cod sursa (job #3156033) | Cod sursa (job #1446308) | Cod sursa (job #278425) | Cod sursa (job #3337575) | Cod sursa (job #3358054)
#include <bits/stdc++.h>
#define int long long
using namespace std;
ifstream fin ("transport.in");
ofstream fout ("transport.out");
const int nmax = 16e3 + 5;
int n, k, v[nmax];
bool check (int x)
{
int cnt = 1, s = 0;
for (int i = 1; i <= n; i++)
{
if (s + v[i] > x)
{
cnt++;
s = 0;
}
s += v[i];
}
return cnt > k;
}
int cb ()
{
int origin = 0;
for (int bit = 1 << 27; bit; bit >>= 1)
{
if (check (origin + bit))
origin += bit;
}
return origin + 1;
}
signed main ()
{
fin >> n >> k;
for (int i = 1; i <= n; i++)
fin >> v[i];
fout << cb();
return 0;
}