Pagini recente » Cod sursa (job #490132) | Cod sursa (job #277428) | Cod sursa (job #821407) | Cod sursa (job #2771184) | Cod sursa (job #249035)
Cod sursa(job #249035)
// Arhiva de probleme - transport
var
n,k,i,x,max,s : integer;
st : array [1..16000] of integer;
f : text;
function trans (vol:integer):boolean;
var
vf, nr, s, x : integer;
begin
vf := 1;
nr := 1;
s := 0;
trans := false;
while (vf <= n) do
begin
x := st[vf];
if (s + x <= vol) then
s := s + x
else
begin
s := x;
inc(nr);
end;
inc (vf);
end;
if (nr <= k) then
trans:= true;
end;
begin
assign (f, 'transport.in');
reset (f);
readln (f, n, k);
max := 0;
s := 0;
for i := 1 to n do
begin
readln (f, x);
if (max < x) then max := x;
s := s + x;
st[i] := x;
end;
close (f);
for x := max to s do
if (trans(x) = true) then
break;
assign (f, 'transport.out');
rewrite (f);
writeln (f, x);
close (f);
end.