Pagini recente » Cod sursa (job #90261) | Cod sursa (job #2459917) | Cod sursa (job #1313028) | Cod sursa (job #2223577) | Cod sursa (job #354770)
Cod sursa(job #354770)
#include<cstdio>
#define N (1<<14)
int n,a[N];
int cat(int k)
{
int i,nr=0,s=0;
if(a[1]>k) return 0;
else nr=1;
for(i=1;i<=n;++i)
{
if(a[i]>k) return 0;
if(s+a[i]>k)
{
s=a[i];
nr++;
}else s+=a[i];
}
return nr;
}
int cb(int p)
{
int i,pas=(1<<28);
for(i=0;pas;pas>>=1)
if(cat(i+pas)>p-1)
i+=pas;
return i;
}
int main()
{
int p,i;
freopen("transport.in","r",stdin);
freopen("tansport.out","w",stdout);
scanf("%d%d",&n,&p);
for(i=1;i<n;++i)
scanf("%d",&a[i]);
printf("%d",cb(p));
return 0;
}