Pagini recente » Cod sursa (job #2153284) | Cod sursa (job #161594) | Cod sursa (job #756604) | Cod sursa (job #275867) | Cod sursa (job #792721)
Cod sursa(job #792721)
#include<cstdio>
void read(),solve(),write();
int n,k,a[16100],L,R,M,c;
int main()
{
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
read();
solve();
write();
return 0;
}
void read()
{
int i;
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++) scanf("%d",&a[i]);
L=1; R=256000000;
}
void solve()
{
int i,s,x;
while(L<R)
{
s=0; x=0;
M=(L+R)/2;
for(i=1;i<=n;i++)
{
if(s+a[i]<=M) s+=a[i];
else {x++; s=a[i];}
}
x++;
if(x<=k) {R=M; c=M;}
else L=M+1;
}
}
void write()
{
printf("%d\n",c);
}