Pagini recente » Cod sursa (job #747012) | Cod sursa (job #2979094) | Cod sursa (job #3195999) | Cod sursa (job #2239467) | Cod sursa (job #517380)
Cod sursa(job #517380)
const f='tranport.in';h='tranport.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.