Pagini recente » Cod sursa (job #830586) | Cod sursa (job #801471) | Cod sursa (job #2229361) | Cod sursa (job #1074250) | Cod sursa (job #301687)
Cod sursa(job #301687)
var f,g:text; i,sol,n,max,s,k:Longint;
v:array[1..16000] of longint;
function ok(x:longint):boolean;
var i,t,con:longint;
begin
i:=0; t:=0;
while i<=n do begin
con:=0;
while con<x do begin inc(i); con:=con+v[i]; end;
if con>x then begin dec(con,v[i]); dec(i); end;
inc(t);
end;
ok:=(t<=k);
end;
procedure cauta(st,dr:longint);
var x:longint;
begin
x:=st+(dr-st) div 2;
if ok(x) then begin
sol:=x;
if st<=x-1 then cauta(st,x-1);
end
else cauta(x+1,dr);
end;
begin
assign(f,'transport.in'); reset(f);
assign(g,'transport.out'); rewrite(g);
read(f,n,k);
s:=0;
for i:=1 to n do begin
read(f,v[i]); s:=s+v[i];
if v[i]>max then max:=v[i];
end;
cauta(max,s);
write(g,sol);
close(g);
end.