Pagini recente » Cod sursa (job #2471894) | Cod sursa (job #3288286) | Cod sursa (job #830386) | Cod sursa (job #2096428) | Cod sursa (job #301684)
Cod sursa(job #301684)
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.