Pagini recente » Cod sursa (job #527557) | Cod sursa (job #255461) | Cod sursa (job #2518321) | Cod sursa (job #1659701) | Cod sursa (job #1128882)
#include<cstdio>
using namespace std;
int v[1601];
int main()
{
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
int n,k,i,max1=0,s=0,l1,l2,pp=0,mid,c;
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
{
scanf("%d",&v[i]);
if(max1<v[i])
max1=v[i];
s+=v[i];
}
l1=max1;
l2=s;
s=0;
while(l2>=l1&&pp==0)
{
mid=(l1+l2)/2;
c=0;
s=v[1];
for(i=2;i<=n;i++)
{
s+=v[i];
if(s>mid)
{
s=v[i];
c++;
}
}
if(c<k)
l2=mid-1;
else
l1=mid+1;
}
printf("%d",mid);
return 0;
}