Pagini recente » Cod sursa (job #1163053) | Cod sursa (job #227997) | Cod sursa (job #2265562) | Cod sursa (job #1852442) | Cod sursa (job #422889)
Cod sursa(job #422889)
#include <stdio.h>
int i,n,v[16001],c,k,dr,t,s,st;
int main() {
FILE *f=fopen("transport.in","r");
FILE *g=fopen("transport.out","w");
fscanf(f,"%d%d",&n,&c);
for(i=1;i<=n;i++) {
fscanf(f,"%d",&v[i]);
if(v[i]>st)
st=v[i];
dr+=v[i];
}
while(st<=dr) {
k=(st+dr)/2;
for(i=1;i<=n;i++)
if(t+v[k]<k)
t+=v[i];
else {
t=0;
c--;
}
if(c<=0)
st=k+1;
else {
s=k;
dr=k-1;
}
}
fprintf(g,"%d",s);
return 0;
}