Pagini recente » Cod sursa (job #620300) | Cod sursa (job #722597) | Cod sursa (job #2419920) | Cod sursa (job #1774479) | Cod sursa (job #100890)
Cod sursa(job #100890)
#include <stdio.h>
int main()
{
long nr,p,j,s,sum,k,t,i,n;
long a[16000];
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
scanf("%ld%ld",&n,&k);
j=0;s=0;
for (i=1; i<=n; i++)
{
scanf("%ld",&a[i]);
s=s+a[i];
if (a[i]>j) j=a[i];
}
t=j;
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("%ld\n",t);
return 0;
}