Pagini recente » Cod sursa (job #1897939) | Cod sursa (job #1979374) | Cod sursa (job #29967) | Cod sursa (job #1880269) | Cod sursa (job #1453262)
var t:array[1..16000]of integer;
n,m,min,max,i,j,k,x,sum,tr:longint;
ok:boolean;
begin
assign(input,'transport.in');
reset(input);
readln(n,k);
sum:=0;
for i:=1 to n do
begin
readln(t[i]);
sum:=sum+t[i];
end;
close(input);
max:=sum;
min:=sum div k;
ok:=true;
while min<>max do
begin
x:=(min+max) div 2;
tr:=0;
sum:=0;
i:=1;
while i<=n do
begin
if sum+t[i]<=x then
begin
sum:=sum+t[i]
end
else
begin
tr:=tr+1;
sum:=t[i];
end;
i:=i+1;
end;
tr:=tr+1;
if tr>k then min:=min+1
else max:=x-1;
end;
assign(output,'transport.out');
rewrite(output);
write(min);
close(output);
end.