Cod sursa(job #292455)

Utilizator marius21Petcu Marius marius21 Data 31 martie 2009 10:18:59
Problema Oo Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.66 kb
var a,d:array[-3..100000] of longint;
f,g:text;
i,n,m:longint;
function max(p1,p2:longint):longint;
begin
if p1>p2 then
        max:=p1
        else
        max:=p2;
end;

begin
assign(f,'oo.in');
assign(g,'oo.out');
reset(f);
rewrite(g);
read(f,n);
for i:=1 to n do
        read(f,a[i]);
a[0]:=a[n];
a[-1]:=a[n-1];
a[-2]:=a[n-2];
a[-3]:=a[n-3];
m:=0;
for i:=3 to n do
        d[i]:=max(d[i-1],d[i-3]+a[i]+a[i-1]);
m:=max(m,d[n]);
for i:=2 to n-1 do
        d[i]:=max(d[i-1],d[i-3]+a[i]+a[i-1]);
m:=max(m,d[n-1]);
for i:=1 to n-2 do
        d[i]:=max(d[i-1],d[i-3]+a[i]+a[i-1]);
m:=max(m,d[n-2]);
writeln(g,m);
close(f);
close(g);
end.