Pagini recente » Cod sursa (job #2873034) | Cod sursa (job #2302399) | Cod sursa (job #2987110) | Cod sursa (job #495402) | Cod sursa (job #2796855)
#include <bits/stdc++.h>
using namespace std;
int n,k,a[16005];
int howMany(int x) {
int tr=1, s=0;
for(int i=1; i<=n; i++){
if(s+a[i]<=x){
s+=a[i];
}
else{
tr++;
s=a[i];
}
}
return tr;
}
int main(){
ifstream cin("transport.in");
ofstream cout("transport.out");
cin >> n >> k;
for(int i=1; i<=n; i++){
cin >> a[i];
}
long long left=1, right=16000*16000,sol=0;
while(left<=right){
long long mid = (left+right)/2;
if(howMany(mid)<=k){
sol=mid;
right=mid-1;
}
else{
left=mid+1;
}
}
cout << sol;
return 0;
}