Pagini recente » Cod sursa (job #2906714) | Cod sursa (job #2928068) | Cod sursa (job #2586768) | Cod sursa (job #1211624) | Cod sursa (job #100981)
Cod sursa(job #100981)
var v:array[1..100000]of longint;
c,n,i,k,s,a,b,u,m: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]);
if m<v[i] then m:=v[i];
s:=s+v[i];
end;
close(f);
assign(f,'transport.out');
rewrite(f);
{if n>1 then begin} 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)or(c<m)then a:=(b+a)div 2+(b+a)mod 2
else b:=(b+a)div 2+(b+a)mod 2;
end;
writeln(f,(b+a)div 2+(b+a)mod 2);
{end
else writeln(f,v[1]); }
close(f);
end.