Pagini recente » Cod sursa (job #1524760) | Cod sursa (job #1880779) | Cod sursa (job #246535) | Cod sursa (job #233176) | Cod sursa (job #2366966)
//#include "pch.h"
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("transporturi.in");
ofstream fout("transporturi.out");
long long v[16005];
bool good(long long x, int n, int k) {
long long cur = 0;
int trans = 1;
for (int i = 1; i <= n; ++i) {
if (x < v[i]) return false;
if (cur + v[i] <= x) {
cur += v[i];
}
else {
cur = v[i];
trans++;
if (trans > k) {
return false;
}
}
}
if (trans > k) {
return false;
}
return true;
}
int main()
{
ios::sync_with_stdio(false);
fin.tie(0); fout.tie(0);
int n, k;
fin >> n >> k;
for (int i = 1; i <= n; ++i) {
fin >> v[i];
}
long long left = 1;
long long right = 256000000;
long long mid;
while (left <= right) {
mid = left + (right - left) / 2;
if (good(mid, n, k)) {
right = mid - 1;
}
else {
left = mid + 1;
}
}
fout << mid << '\n';
}