PTRANG - Phân Trang
Tác giả: RR
Ngôn ngữ: Pascal
program PTRANG;
uses
math;
const
FINP='';
FOUT='';
MAXN=6001;
var
n,l:longint;
d,w,t:array[0..MAXN] of longint;
procedure inp;
var
f:text;
i:longint;
begin
assign(f,FINP); reset(f);
readln(f,n,l);
for i:=1 to n do
readln(f,w[i]);
close(f);
end;
procedure ans;
var
f:text;
begin
assign(f,FOUT); rewrite(f);
writeln(f,d[n]);
close(f);
end;
procedure solve;
var
i,j:longint;
begin
t[0]:=0;
for i:=1 to n do t[i]:=t[i-1]+w[i];
for i:=1 to n do
begin
d[i]:=l;
for j:=i downto 1 do
begin
if t[i]-t[j-1]>l then break;
d[i]:=min(d[i],max(l-(t[i]-t[j-1]),d[j-1]));
end;
end;
end;
begin
inp;
solve;
ans;
end.