LINEGAME - VOI09 Trò chơi với băng số
Tác giả: ll931110
Ngôn ngữ: Pascal
Program LINEGAME;
Const
input = '';
output = '';
Var
a: array[1..1000000] of integer;
F,non: array[1..2,1..1000000] of int64;
n: longint;
Procedure init;
Var
fi: text;
i: longint;
Begin
Assign(fi, input);
Reset(fi);
Readln(fi, n);
For i:= 1 to n do read(fi, a[i]);
Close(fi);
End;
Function max(x,y: int64): int64;
Begin
If x < y then max:= y else max:= x;
End;
Procedure optimize;
Var
i: longint;
Begin
F[1,1]:= a[1]; F[2,1]:= 0;
non[1,1]:= 0; non[2,1]:= 0;
For i:= 2 to n do
Begin
F[1,i]:= max(F[2,i - 1],non[2,i - 1]) + a[i];
F[2,i]:= max(F[1,i - 1],non[1,i - 1]) - a[i];
non[1,i]:= max(F[1,i - 1],non[1,i - 1]);
non[2,i]:= max(F[2,i - 1],non[2,i - 1]);
End;
End;
Procedure solve;
Var
fo: text;
k,p: int64;
Begin
Assign(fo, output);
Rewrite(fo);
k:= max(F[1,n],F[2,n]);
p:= max(non[1,n],non[2,n]);
If k > p then writeln(fo, k) else writeln(fo, p);
Close(fo);
End;
Begin
init;
optimize;
solve;
End.