Cod sursa(job #162672)

Utilizator Pepelea_FlaviuFlaviu Pepelea Pepelea_Flaviu Data 20 martie 2008 14:29:20
Problema Oo Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.82 kb
var fi,fo:text;
    n,i,maxo:longint;
    o,oo:array[0..100000]of longint;
begin
  assign(fi,'oo.in'); reset(fi);
  assign(fo,'oo.out'); rewrite(fo);
  read(fi,n);
  for i:=1 to n do
    read(fi,o[i]);
  oo[2]:=o[1]+o[2];
  for i:=3 to n-1 do
    if oo[i-3]+o[i-1]+o[i]>oo[i-1] then oo[i]:=oo[i-3]+o[i-1]+o[i]
      else oo[i]:=oo[i-1];
  maxo:=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-1]+o[i]>oo[i-1] then oo[i]:=oo[i-3]+o[i-1]+o[i]
      else oo[i]:=oo[i-1];
  if maxo<oo[n] then maxo:=oo[n];
  for i:=0 to n do
    oo[i]:=0;
  oo[1]:=o[n]+o[1];
  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-1]+o[i]
      else oo[i]:=oo[i-1];
  if oo[n-2]>maxo then maxo:=oo[n-2];
  writeln(fo,maxo);
  close(fi);
  close(fo);
end.