QBMAX - Đường đi có tổng lớn nhất

Tác giả: RR

Ngôn ngữ: Pascal

{$R+,Q+}
uses math;
var
  a,f:array[-1..111,-1..111] of longint;
  m,n,i,j:longint;
begin
  read(m,n);
  for i:=1 to m do
  for j:=1 to n do
    read(a[i,j]);


  fillchar(f,sizeof(f),$80);
  for i:=1 to m do
    f[i,1]:=a[i,1];

  for j:=2 to n do
    for i:=1 to m do
      f[i,j]:=max(max(f[i-1,j-1],f[i,j-1]),f[i+1,j-1])+a[i,j];

  j:=-1000111000;
  for i:=1 to m do
    j:=max(j,f[i,n]);
  writeln(j);
end.

Download