Pagini recente » Cod sursa (job #1910154) | Cod sursa (job #1445376) | Cod sursa (job #2463836) | Cod sursa (job #2082520) | Cod sursa (job #2160917)
#include <stdio.h>
int main()
{
int v[16005],n,k,i,j,cmin,dr,st,kcrt,s,mij;
FILE *f,*g;
f=fopen("transport.in","r");
g=fopen("transport.out","w");
fscanf(f,"%d%d",&n,&k);
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
cmin=v[1];
for(i=2;i<=n;i++)
if(v[i]>cmin)
cmin=v[i];
st=cmin;
dr=16000;
while(st<=dr)
{
mij=(st+dr)/2;
kcrt=1;
s=v[1];
for(i=2;i<=n;i++)
{
if(s+v[i]>mij){
kcrt++;
s=v[i];
}
else
s+=v[i];
}
//printf("%d\n",kcrt);
if(kcrt>k)
st=mij+1;
else
dr=mij-1;
}
fprintf(g,"%d",mij);
}