Pagini recente » Cod sursa (job #3231301) | Cod sursa (job #2614383) | Cod sursa (job #2943720) | Cod sursa (job #2627586) | Cod sursa (job #815586)
Cod sursa(job #815586)
#include<stdio.h>
int v[16001];
int main ()
{freopen ("transport.in","r",stdin);
freopen ("transport.out","w",stdout);
int i,j,a=0,b=0,n,k;
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
{scanf("%d",&v[i]);
if(v[i]>a)
a=v[i];
b+=v[i];
}
a--;
b++;
int m,nr,s;
while(a<=b)
{m=(a+b)/2;
nr=0;
for(i=1;i<=n;i++)
{s=0;
while(s+v[i]<=m&&v[i]!=0)
{s+=v[i];
i++;
}
nr++;
i--;
}
if(nr<=k)
b=m-1;
else
a=m+1;
}
printf("%d",a);
return 0;
}