MMAXPER - Rectangles Perimeter
Tác giả: RR
Ngôn ngữ: Pascal
{$R+,Q+}
uses math;
const
FINP='';
FOUT='';
MAXN=1011;
var
f1,f2:text;
n:longint;
a,b:array[0..MAXN] of longint;
d:array[0..MAXN,1..2] of longint;
procedure openF;
begin
assign(f1,FINP); reset(f1);
assign(f2,FOUT); rewrite(f2);
end;
procedure closeF;
begin
close(f1); close(f2);
end;
procedure inp;
var
i:longint;
begin
read(f1,n);
for i:=1 to n do
read(f1,a[i],b[i]);
end;
procedure solve;
var
i:longint;
begin
d[1,1]:=b[1];
d[1,2]:=a[1];
for i:=2 to n do
begin
//Tinh 1
d[i,1]:=abs(a[i]-a[i-1])+b[i]+d[i-1,1];
d[i,1]:=max(d[i,1],abs(a[i]-b[i-1])+b[i]+d[i-1,2]);
//Tinh 2
d[i,2]:=abs(b[i]-a[i-1])+a[i]+d[i-1,1];
d[i,2]:=max(d[i,2],abs(b[i]-b[i-1])+a[i]+d[i-1,2]);
end;
end;
procedure ans;
begin
writeln(f2,max(d[n,1],d[n,2]));
end;
begin
openF;
inp;
solve;
ans;
closeF;
end.