Cod sursa(job #186988)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 29 aprilie 2008 17:21:55
Problema Oo Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.97 kb
var n,max:longint;
o,oo:array[0..100000] of longint;
f:text;
{----------------}
procedure citire;
var i:integer;
begin
assign(f,'oo.in');reset(f);
read(f,n);
for i:=1 to n do read(f,o[i]);
close(f);
end;
{----------------}
procedure dinamica;
var i:integer;
begin
oo[2]:=o[1]+o[2];
for i:=3 to n-1 do
    if oo[i-3]+o[i]+o[i-1]>oo[i-1] then
       oo[i]:=oo[i-3]+o[i]+o[i-1]
    else oo[i]:=oo[i-1];
max:=oo[n-1];
for i:=0 to n do oo[i]:=0;
oo[3]:=o[2]+o[3];
for i:=3 to n do
    if oo[i-3]+o[i]+o[i-1]>oo[i-1] then
       o[i]:=oo[i-3]+o[i]+o[i-1]
    else oo[i]:=oo[i-1];
if oo[n]>max then max:=oo[n];
for i:=0 to n do oo[i]:=0;
for i:=4 to n-2 do
    if oo[i-3]+o[i]+o[i-1]>oo[i-1] then
       oo[i]:=oo[i-3]+o[i]+o[i-1]
    else oo[i]:=oo[i-1];
if oo[n-2]+o[1]+o[n]>max then max:=oo[n-2]+o[1]+o[n];
end;
{------------------}
procedure afisare;
begin
assign(f,'oo.out');rewrite(f);
write(f,max);
close(f);
end;
begin
citire;
dinamica;
afisare;
end.