PTRANG - Phân Trang

Tác giả: ladpro98

Ngôn ngữ: Pascal

program ptrang;
uses    math;
const   fi='';
var     s,a,f:array[0..6001] of longint;
        n,l,res:longint;

procedure input;
var     inp:text;
        i:longint;
begin
        assign(inp,fi);
        reset(inp);
        readln(inp,n,l);
        for i:=1 to n do
        readln(inp,a[i]);
        close(inp);
end;

procedure init;
var     i:longint;
begin
        s[1]:=a[1];
        s[0]:=0;
        for i:=2 to n do
        s[i]:=s[i-1]+a[i];

end;

function tong(i,j:longint):longint;
begin
        exit(s[j]-s[i-1]);
end;

procedure process;
var     i,j:longint;
begin
        for i:=1 to n do
        begin
                f[i]:=high(longint);
                for j:=i downto 1 do
                if tong(j,i)>l then break
                else
                f[i]:=min(f[i],max(f[j-1],l-tong(j,i)));
        end;

end;

begin

        input;
        init;
        process;
        write(f[n]);
end.

Download