Pagini recente » Cod sursa (job #2405310) | Cod sursa (job #1614130) | Cod sursa (job #1222281) | Cod sursa (job #1125361) | Cod sursa (job #1498606)
#include<cstdio>
#include<iostream>
#define m 16001
int v[m];
int main()
{
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
int n, i, cm, c, cM, m, j, s, a, r;
cin>>n>>a;
cM=0;
m=0;
for(i=1; i<=n; i++)
{
cin>>v[i];
cM+=v[i];
if(v[i]>m)
m=v[i];
}
cm=m;
while(cm<=cM)
{
c=(cm+cM)/2;
i=1;
j=0;
while(i<=n)
{
s=0;
while(s+v[i]<=c && i<=n)
{
s+=v[i];
i++;
}
j++;
}
if(j<=a)
{
cM=c-1;
r=c;
}
else
cm=c+1;
}
cout<<r;
return 0;
}