Pagini recente » Cod sursa (job #2084240) | Cod sursa (job #1439351) | Cod sursa (job #454483) | Cod sursa (job #728981) | Cod sursa (job #1324100)
#include<cstdio>
FILE *in,*out;
int v[16001];
int main(){
in=fopen("transport.in","r");
out= fopen("transport.out","w");
int elem,m,n,k,i,c,l1=0,l2=0,s,nrt;;
fscanf(in,"%d%d",&n,&k);
for(i=1;i<=n;i++){
fscanf(in,"%d",&v[i]);
l2=l2+v[i];
if(v[i]>l1)
l1=v[i];
}
while(l2>=l1){
c=(l1+l2)/2;
nrt=1;
s=0;
for(i=1;i<=n;i++)
if(s+v[i]<=c)
s=s+v[i];
else{
nrt++;
s=v[i];
}
if(nrt<=k){
elem=c;
l2=c-1;
}
else
l1=c+1;
}
fprintf(out,"%d",elem);
return 0;
}