Pagini recente » Cod sursa (job #1140796) | Cod sursa (job #2571882) | Cod sursa (job #32633) | Cod sursa (job #1132220) | Cod sursa (job #482320)
Cod sursa(job #482320)
# include <stdio.h>
# define nmax 16001
int a[16001];
long i,st,dr,last,med,n,k,x;
int numar_trans(int val)
{
int t=0;
int lim=val+1;
for (int j=1;j<=n;j++)
if (lim+a[j]<=val)
lim=a[j]+lim;
else
{
lim=a[j];
t++;
}
return t;
}
int main()
{
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
scanf("%d%d",&n,&k);
for (i=1;i<=n;i++)
scanf("%d",&a[i]);
st=1;
dr=nmax*nmax;
last=0;
while (st<=dr)
{
med=(st+dr)>>1;
x=numar_trans(med);
if (x<=k)
{
last=med;
dr=med-1;
}
else st=med+1;
}
printf("%d",last);
}