Pagini recente » Cod sursa (job #264725) | Cod sursa (job #3223006) | Cod sursa (job #1273437) | Cod sursa (job #2804987) | Cod sursa (job #1453302)
type tablou=array [1..16000]of integer;
var t:tablou;
i,j,k,m,n,x,y:longint;
p,q,suma,max1,max:qword;
f,g:text;
begin
assign(f,'transport.in');
assign(g,'transport.out');
reset(f);
rewrite(g);
read(f,n,k);
for i:=1 to n do
begin
read(f,t[i]);
suma:=suma+t[i];
end;
p:=round(suma/k);
q:=suma;
suma:=0;
max:=16000;
while p<=q do
begin
m:=p+(q-p)div 2;
i:=1;
x:=0;
suma:=m;
while i<=n do
if suma>=t[i] then begin
suma:=suma-t[i];
i:=i+1;
end
else begin
suma:=m;
x:=x+1;
if t[i]>m then begin
i:=n+1;
x:=k+1;
end;
end;
x:=x+1;
if (x<=k)and(m<max) then max:=m;
if x>k then p:=m+1
else q:=m-1;
end;
write(g,max);
close(f);
close(g);
end.