Pagini recente » Cod sursa (job #2141674) | Cod sursa (job #2686683) | fmi-no-stress-9/solutii | Cod sursa (job #479998) | Cod sursa (job #2483132)
#include <iostream>
#include <fstream>
using namespace std;
int N, K, a[16005];
bool Valid(int x) {
int ct = 1, i, s = 0;
for (i = 1; i <= N; i++) {
s += a[i];
if (s > x) {
ct++;
s = a[i];
}
}
return ct <= K;
}
int CautBin(int st, int dr) {
int mid = (st + dr) / 2;
if (st == dr)return mid;
if (Valid(mid) == 0)return CautBin(mid+1, dr);
else return CautBin(st, mid);
}
int main() {
int i;
ifstream fin("transport.in");
ofstream fout("transport.out");
fin >> N >> K;
for (i = 1; i <= N; i++)
fin >> a[i];
fout << CautBin(1, 16000 * 16000);
}