Pagini recente » Cod sursa (job #2325698) | Cod sursa (job #2142028) | Cod sursa (job #941014) | Cod sursa (job #698377) | Cod sursa (job #284395)
Cod sursa(job #284395)
#include <stdio.h>
int n,k,i,v[16001],s;
int cautbin(int st,int d)
{
int m;
while(st<d)
{
m=(st+d)/2;
int nr=1,c=0,t=0;
for(i=1;i<=n && nr<k;i++)
{
if(c+v[i]<=m)
c=c+v[i];
else
{
nr++;
c=0;
}
t=t+c;
}
if(t==s)
return m;
if(t<s)
st=m+1;
else
d=m;
}
return m;
}
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",&v[i]);
s=s+v[i];
}
printf("%d",cautbin(1,s));
return 0;
}