Cod sursa(job #155044)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 11 martie 2008 18:00:00
Problema Transport Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.67 kb
var v:array[1..16000] of longint;
    c,n,i,k,s,a,b,d,max:longint;
    f,g:text;
begin
assign(f,'transport.in');reset(f);
assign(g,'transport.out');rewrite(g);
read(f,n,k);
max:=0;
s:=0;
for i:=1 to n do begin
   read(f,v[i]);
if max<v[i] then max:=v[i];
s:=s+v[i];
                 end;
a:=1;
b:=s;
while b>a+1 do begin
c:=(a+b) div 2+(a+b) mod 2;
s:=0;
d:=1;
for i:=1 to n do begin
   s:=s+v[i];
   if s>c then begin inc(d);
                     s:=v[i];
               end;
                end;
if (d>k) or (c<max) then a:=c
                    else b:=c;
                end;
   writeln(g,(a+b) div 2+(a+b) mod 2);
   close(f);
   close(G);
   end.