Pagini recente » Cod sursa (job #2447417) | Cod sursa (job #659334) | Cod sursa (job #2032250) | Cod sursa (job #2614332) | Cod sursa (job #1664763)
#include<iostream>
#include<stdio.h>
using namespace std;
int main(){
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
int n,k,v[16001],i,pr,c,j,s,minn,ss,l1,l2;
cin>>n>>k;
minn=16002;
s=0;
for(i=1;i<=n;i++){
cin>>v[i];
ss=ss+v[i];
if(v[i]<minn)
minn=v[i];
}
l1=minn;
l2=ss;
while(l1<=l2){
i=(l1+l2)/2;
c=0;
j=1;
while(j<=n){
pr=0;
s=0;
while(pr!=1){
s=s+v[j];
if(s+v[j+1]>i){
pr++;
j++;
}
else
j++;
}
c++;
}
if(c>k)
l1=i+1;
else
l2=i-1;
}
cout<<i;
return 0;
}