Pagini recente » Cod sursa (job #2005081) | Cod sursa (job #1714464) | Cod sursa (job #602147) | Cod sursa (job #1714995) | Cod sursa (job #2074091)
#include<iostream>
#include<stdio.h>
using namespace std;
int v[16001];
int main(){
int maxi=0,s=0,n,k,i,l1,l2,pp,m,c=0,cm,mf;
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
cin>>n>>k;
for(i=1;i<=n;i++){
cin>>v[i];
if(v[i]>maxi)
maxi=v[i];
s=s+v[i];
}
l1=maxi;
l2=s;
while(l1<=l2){
m=(l1+l2)/2;
c=1;
cm=m;
for(i=1;i<=n;i++){
if(cm>=v[i])
cm=cm-v[i];
else{
cm=m;
cm=cm-v[i];
c++;
}
}
if(c>k)
l1=m+1;
else
{
l2=m-1;
mf=m;
}
}
cout<<mf;
return 0;
}