Pagini recente » Cod sursa (job #2657734) | Cod sursa (job #1117017) | Cod sursa (job #1251555) | Cod sursa (job #1651400) | Cod sursa (job #517382)
Cod sursa(job #517382)
const f='transport.in';h='transport.out';
nmax=20000;
var
v:array[1..nmax] of longint;
min,t,u,p,m,nr,max,s,k1,k,n,i:longint;
begin
assign(input,f);reset(input);
assign(output,h);rewrite(output);
readln(n,k);
for i:=1 to n do
begin
readln(v[i]);
k1:=k1+v[i];
if (v[i]>max) then max:=v[i];
end;
u:=max;
p:=k1;
min:=16001;
while (u<=p) do
begin
m:=(u+p) div 2;
nr:=0;
i:=1;
while i<=n do
begin
s:=0;
while (s+v[i]<=m) and (i<=n) do
begin
s:=s+v[i];
i:=i+1;
end;
inc(nr);
end;
if (nr>k) then u:=m+1
else
begin
if (nr<=k) then begin min:=m;p:=m-1;end;
end;
end;
write(min);
close(input);close(output);
end.