Pagini recente » Cod sursa (job #72529) | Cod sursa (job #1524699) | Cod sursa (job #849340) | Cod sursa (job #931637) | Cod sursa (job #492174)
Cod sursa(job #492174)
#include <stdio.h>
int main()
{
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
int n, k, i, v[16001], min=0, max, c, t, suma, ct, sol;
scanf("%d %d ", &n, &k);
for(i=1;i<=n;i++){
scanf("%d ", &v[i]);
if(v[i]>min){
min=v[i];
}
max+=v[i];
}
while(min<=max){
c=(min+max)/2;
t=0;
for(i=1; i<=n; i){
ct=c;
t++;
while(i<=n && v[i]<=ct){
ct-=v[i];
i++;
}
}
if(t<=k){
max=c-1;
sol=c;
}
else
min=c+1;
}
printf("%d ", sol);
return 0;
}