Cod sursa(job #154976)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 11 martie 2008 17:07:16
Problema Transport Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.53 kb
var n,k,i,nr,s,max,ls,ld,m,min,a:longint;
v:array[1..16000] of integer;
f,g:text;
begin
assign(f,'transport.in');reset(f);
assign(g,'transport.out');rewrite(g);
read(f,n,k);
min:=0;
max:=0;
for i:=1 to n do begin
read(f,v[i]);
if min<v[i] then min:=v[i];
max:=max+v[i];
end;
ls:=min;
ld:=max;
while ls<=ld do begin
m:=(ls+ld) div 2;
nr:=0;
s:=0;
for i:=1 to n do s:=s+v[i];
if s>m then begin
s:=0;
inc(nr);
dec(i);
end;
if nr<=k then ld:=m-1
         else ls:=m+1;
end;
writeln(g,ls);
close(f);
close(g);
end.