Pagini recente » Cod sursa (job #3212367) | Cod sursa (job #2807865) | Cod sursa (job #849441) | Cod sursa (job #2915230) | Cod sursa (job #100887)
Cod sursa(job #100887)
#include <stdio.h>
int main()
{
int nr,p,j,s,sum,k,t,i,n;
int a[16000];
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
scanf("%d%d",&n,&k);
j=0;s=0;
for (i=1; i<=n; i++)
{
scanf("%d",&a[i]);
s=s+a[i];
if (a[i]>j) j=a[i];
}
t=0;
while (j+1<s)
{
p=(j+s)/2;nr=0;
i=0;sum=0;
while (i<=n)
{
i++;
if (sum+a[i]<=p) sum=sum+a[i];
else {
sum=0;
i--;
nr++;
}
}
nr++;
if (nr<=k)
{
t=p;
s=p;
}
else j=p;
}
printf("%d\n",t);
return 0;
}