Cod sursa(job #100933)

Utilizator GavrilaVladGavrila Vlad GavrilaVlad Data 12 noiembrie 2007 20:50:47
Problema Grupuri Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.63 kb
var v:array[1..100000]of longint;
    c,n,i,k,s,a,b,u:longint;
    f:text;
begin
   assign(f,'transport.in');
   reset(f);
   read(f,n,k);
   for i:=1 to n do
   begin
   read(f,v[i]);
   s:=s+v[i];
   end;
   close(f);
   assign(f,'transport.out');
   rewrite(f);
   a:=1;
   b:=s;
   while b-a>1 do
   begin
   c:=(b+a)div 2+(b+a)mod 2;
   s:=0;
   u:=1;
   for i:=1 to n do
   begin
   s:=s+v[i];
   if s>c then begin u:=u+1;
                     s:=v[i];
               end;
   end;
   if u>k then a:=(b+a)div 2+(b+a)mod 2
          else b:=(b+a)div 2+(b+a)mod 2;
   end;
   writeln(f,b);
   close(f);
end.