Pagini recente » Cod sursa (job #2451025) | Cod sursa (job #848683) | Cod sursa (job #321929) | Cod sursa (job #2942457) | Cod sursa (job #492175)
Cod sursa(job #492175)
#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, 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;
}