如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。
URAL/1146
来自"NOCOW"
< URAL
var cost,sum:array[0..100,0..100] of longint; temp:array[0..100] of longint; n,tot:longint; procedure init; var i,j:longint; begin readln(n); for i:=1 to n do for j:=1 to n do read(cost[i,j]); for i:=1 to n do for j:=1 to n do sum[i,j]:=sum[i-1,j]+cost[i,j]; end; procedure solve; var i,j,k,best,ans:longint; begin tot:=-maxlongint; for i:=n downto 1 do for j:=i-1 downto 0 do begin for k:=1 to n do temp[k]:=sum[i,k]-sum[j,k]; ans:=-maxlongint; best:=0; for k:=1 to n do begin inc(best,temp[k]); if best>ans then ans:=best; if best<0 then best:=0; end; if ans>tot then tot:=ans; end; end; procedure print; begin writeln(tot); end; begin init; solve; print; end. //BY Lv.wind