Pagini recente » Cod sursa (job #1454453) | Cod sursa (job #2549841) | Cod sursa (job #2375970) | Cod sursa (job #2962273) | Cod sursa (job #2911004)
#include <bits/stdc++.h>
using namespace std;
int n, k, a[16002];
int trans(int t){
int sum = 0, ans = 1;
for(int i =1;i<=n;i++){
if(sum + a[i] <= t){
sum += a[i];
}else{
ans++;
sum = a[i];
}
}
return ans;
}
int main(void){
ofstream cout("transport.out");
ifstream cin("transport.in");
cin >> n >> k ;
int dr = 0, st = 0;
for(int i = 1;i<=n;i++){
cin >> a[i];
dr += a[i];
st = max(st, a[i]);
}
int mid= 0, ans = 0;
while(st <= dr){
mid = (st + dr) / 2;
if(trans(mid) <= k){
ans = mid;
dr = mid-1;
}
else{
st = mid+1;
}
}
cout << ans;
}