Cod sursa(job #1117413)

Utilizator razvanfuleaFulea Razvan razvanfulea Data 23 februarie 2014 15:02:01
Problema Transport Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.3 kb
program razy;
var a:array[1..100] of integer;
    f,g:text;
    i,n,k,max:integer;
procedure tipar(max:integer);
          begin
          write(g,max);
          end;
function valid(p:integer):boolean;
         var s,t:integer;
         begin
          valid:=true;
          s:=0;
          t:=0;
          for i:=1 to n do
            begin
            if s<max then s:=s+a[i];
            if s>max then begin
                          s:=s-a[i];
                          t:=t+1;
                          s:=a[i];
                          end;
            if s=max then begin
                          t:=t+1;
                          s:=0;
                          end;
            end;
          if t>p then valid:=false;
          if (t=p) and (s>0) then valid:=false;
         end;
procedure trans(n,k:integer;var max:integer);
          begin
          if valid(k) then tipar(max)
                      else begin
                           max:=max+1;
                           trans(n,k,max);
                           end;
          end;
begin
assign(f,'transport.in');reset(f);
assign(g,'transport.out');rewrite(g);
readln(f,n,k);
for i:=1 to n do
  readln(f,a[i]);
max:=0;
for i:=1 to n do
  if a[i]>max then max:=a[i];
trans(n,k,max);
close(f);
close(g);
end.