Cod sursa(job #249035)

Utilizator belgun_adrianBelgun Dimitri Adrian belgun_adrian Data 27 ianuarie 2009 13:11:13
Problema Transport Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.98 kb
// 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.