Cod sursa(job #329805)

Utilizator ionutz32Ilie Ionut ionutz32 Data 7 iulie 2009 16:55:02
Problema Transport Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.72 kb
var v:array[1..16000] of 1..16000;
n,k,i,max,s,a,b,m,t,k2:longint;
f,g:text;
begin
assign(f,'transport.in');
assign(g,'transport.out');
reset(f);rewrite(g);
readln(f,n,k);
for i:=1 to n do
    begin
    readln(f,v[i]);
    if v[i]>max then
       max:=v[i];
    s:=s+v[i];
    end;
a:=max;b:=s;
while a<=b do
      begin
      m:=(a+b) div 2;
      t:=0;k2:=1;
      for i:=1 to n do
          begin
          t:=t+v[i];
          if t>m then
             begin
             k2:=k2+1;
             t:=v[i];
             end;
          if k2>k then
             break;
          end;
      if k2>k then
         a:=m+1
      else
          b:=b-1;
      end;
write(g,b+1);
close(f);close(g);
end.