Pagini recente » Cod sursa (job #2903808) | Cod sursa (job #3262857) | Cod sursa (job #170762) | Cod sursa (job #2518984) | Cod sursa (job #1453292)
var t:array[1..16000]of longint;
n,m,i,j,k,tr:longint;
ok:boolean;
sum,min,max,x:qword;
begin
assign(input,'transport.in');
reset(input);
readln(n,k);
sum:=0;
for i:=1 to n do
begin
read(t[i]);
sum:=sum+t[i];
end;
close(input);
max:=sum;
min:=round(sum div k);
max:=(max+min)div 2-1;
ok:=true;
while min<>max do
begin
x:=(min+max) div 2;
tr:=0;
sum:=0;
i:=1;
while i<=n do
begin
if sum+t[i]<=x then
begin
sum:=sum+t[i]
end
else
begin
tr:=tr+1;
sum:=t[i];
end;
i:=i+1;
end;
tr:=tr+1;
if tr>k then min:=min+1
else max:=x-1;
end;
assign(output,'transport.out');
rewrite(output);
write(min+1);
close(output);
end.