Pagini recente » Borderou de evaluare (job #154766) | Borderou de evaluare (job #2114357) | Borderou de evaluare (job #1809276) | Borderou de evaluare (job #3119179) | Cod sursa (job #815553)
Cod sursa(job #815553)
#include<stdio.h>
int v[16001],i,j,max,nr,st,dr,s2,s,pp,m,n,k,cate;
int main()
{
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]);
if(v[i]>max) max=v[i];
s+=v[i];
}
st=max-1;
dr=s+1;
while(st<=dr)
{
m=(st+dr)/2;
j=1;
cate=0;
while(j<=n)
{
s2=0;
cate++;
// j=1;
while(s2+v[j]<=m&&j<=n)
{
s2+=v[j];
j++;
}
}
if(cate<=k)
{
dr=m-1;
}
else st=m+1;
}
fprintf(g,"%d",m);
return 0;
}