Pagini recente » Cod sursa (job #306132) | Cod sursa (job #377902) | Cod sursa (job #211572) | Cod sursa (job #2281204) | Cod sursa (job #429750)
Cod sursa(job #429750)
var f,g:text;
a:array[1..16000] of longint;
i,n,c,k,s,max:longint;
function pos(x:longint):longint;
var i,cam,sum:longint;
begin
cam:=1;
sum:=0;
for i:=1 to n do
if sum+a[i]<=x then sum:=sum+a[i]
else begin
sum:=a[i];
cam:=cam+1;
end;
pos:=cam;
end;
function cautare(x1,y1:longint):longint;
var st,dr,mij,p,sol:longint;
begin
st:=x1;
dr:=y1;
sol:=0;
while st<=dr do
begin
mij:=(st+dr) div 2;
p:=pos(mij);
if p>k then st:=mij+1
else begin
dr:=mij-1;
sol:=mij;
end;
end;
cautare:=sol;
end;
begin
assign(f,'transport.in');reset(f);
assign(g,'transport.out');rewrite(g);
read(f,n,k);
read(f,a[1]);
if k>n then k:=n;
s:=a[1];
max:=a[1];
for i:=2 to n do
begin
read(f,a[i]);
s:=s+a[i];
if a[i]>max then max:=a[i];
end;
c:=cautare(max,s);
writeln(g,c);
close(g);
end.