Pagini recente » Cod sursa (job #170556) | Cod sursa (job #2279939) | Cod sursa (job #891838) | Cod sursa (job #1921889) | Cod sursa (job #284580)
Cod sursa(job #284580)
#include <stdio.h>
int n,k,i,v[16001],s;
int cautbin(int st,int d)
{
int m,rez;
while(st<=d)
{
m=(st+d)/2;
int nr=0,c=0,t=0,i=1;
for(nr=1;nr<=k;nr++)
{
while(c+v[i]<=m && i<=n)
{
c=c+v[i];
i++;
}
t=t+c;
c=0;
}
if(t<s)
st=m+1;
else
{
d=m-1;
rez=m;
}
}
return rez;
}
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;
}