Pagini recente » Cod sursa (job #1666231) | Cod sursa (job #904049) | Cod sursa (job #157693) | Cod sursa (job #2078639) | Cod sursa (job #177513)
Cod sursa(job #177513)
type vector=array [1..16000] of integer;
var n,k,vol:integer;
v:vector;
ok:boolean;
f,t:text;
procedure citire;
var i:integer;
begin
readln(f,n,k);
for i:=1 to n do readln(f,v[i]);
end;
function max:integer;
var i,m:integer;
begin
m:=v[1];
for i:=2 to n do
if v[i]>m then m:=v[i];
max:=m;
end;
procedure volbun;
var i,l,s:integer;
da:boolean;
begin
i:=0;
l:=0;
ok:=false;
da:=true;
repeat
s:=0;
while (s<=vol) and (i<n) do
begin
i:=i+1;
s:=s+v[i];
end;
if s>vol then
begin
l:=l+1;
i:=i-1;
end
else if i=n then l:=l+1;
if l>k then da:=false;
until (i=n) or (not da);
if l<=k then ok:=true;
end;
begin
assign(f,'transport.in');
assign(t,'transport.out');
reset(f);
rewrite(t);
citire;
vol:=max;
ok:=false;
while not ok do
begin
volbun;
if not ok then vol:=vol+1;
end;
write(t,vol);
close(f);
close(t);
end.