Pagini recente » Cod sursa (job #141405) | Cod sursa (job #2845173) | Cod sursa (job #548230) | Cod sursa (job #728884) | Cod sursa (job #2192422)
#include<stdio.h>
long n,k,v[16*1024];
long ver(long a)
{
long i,p=k,s=a;
for(i=1;i<=n && p;i++)
if(v[i]<=s) s-=v[i];
else {p--;s=a;i--;}
if(i==n+1) return 1;
return 0;
}
long cauta(long a,long b)
{
long c;
if(a==b) return a;
c = (a+b)/2;
if(ver(c)) return cauta(a,c);
else return cauta(c+1,b);
}
int main()
{
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
long i;
scanf("%ld%ld",&n,&k);
for(i=1;i<=n;i++)
scanf("%ld",&v[i]);
printf("%ld",cauta(1,16000*16000));
return 0;
}