Pagini recente » Cod sursa (job #1912600) | Cod sursa (job #501573) | Cod sursa (job #164378) | Cod sursa (job #164195) | Cod sursa (job #3131542)
#include <fstream>
using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");
int a[16000];
int main()
{
int N, K, i;
in >> N >> K;
for (i = 0; i < N; ++i)
in >> a[i];
in.close();
long long st = 1, dr = 256000000, mid;
while (st <= dr)
{
mid = st + (dr - st) / 2;
int k = 1, s = 0;
for (i = 0; i < N; ++i)
{
s += a[i];
if (s > mid)
{
k++;
s = a[i];
}
}
if (k <= K)
dr = mid - 1;
else
st = mid + 1;
}
out << st << '\n';
out.close();
return 0;
}