Pagini recente » Cod sursa (job #491328) | Cod sursa (job #2677050) | Cod sursa (job #1922244) | Cod sursa (job #376319) | Cod sursa (job #2662389)
#include <bits/stdc++.h>
using namespace std;
#define x1 "transport.in"
#define x2 "transport.out"
ifstream in(x1);
ofstream out(x2);
int v[16000], n, i, k, r = 0, pas = 1 << 28;
int check(int nr) {
int c = 0 , ans = 0;
for(int i = 0; i < n; i++) {
ans += v[i];
if(ans > nr){
c++;
ans = v[i];
}
}
return (c < k);
}
int main() {
in >> n >> k;
for(i = 0; i < n; i++)
in >> v[i];
while(pas) {
if(!check(pas + r))
r += pas;
pas /= 2;
}
out << r + 1;
return 0;
}