Pagini recente » Cod sursa (job #1323628) | Cod sursa (job #1647030) | Cod sursa (job #2331546) | Cod sursa (job #1590239) | Cod sursa (job #483849)
Cod sursa(job #483849)
#include<stdio.h>
int n,k,min,i,v[16000],a,b,j,t,s,tm,nr,m;
FILE *fin,*fout;
int main(){
fin=fopen("transport.in","r");
fout=fopen("transport.out","w");
fscanf(fin,"%d %d",&n,&k);
for(i=1;i<=n;i++){
fscanf(fin,"%d",&v[i]);
if(v[i]>a){a=v[i];}
b+=v[i];
}
a=b/k+1;
while(a<=b){
m=(a+b)/2;
t=0;
for(nr=1;nr<=n;){
s=0;
while(s+v[nr]<=m && nr<=n){
s+=v[nr];
nr++;
}
t++;
}
if(t<=k){
b=m-1;
tm=m;
}
else a=m+1;
}
fprintf(fout,"%d",tm);
fclose(fin);
fclose(fout);
return 0;}