Cod sursa(job #59119)

Utilizator radu_voroneanuVoroneanu Radu Stefan radu_voroneanu Data 8 mai 2007 08:59:51
Problema Oo Scor 70
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.68 kb
var n,i,j,k,rez:longint;
    f,g:text;
    oo,a:array[0..99999] of longint;
function max(a,b:longint):longint;
 begin
  if a<b then
   max:=b
  else
   max:=a;
 end;
begin
 assign(f,'oo.in'); reset(f);
 assign(g,'oo.out'); rewrite(g);
 read(f,n);
 for i:=0 to n-1 do
  read(f,oo[i]);
 if n=2 then
  rez:=oo[0]+oo[1]
 else
  for k:=0 to 1 do begin
   a[k]:=0;
   a[(k+1) mod n]:=0;
   a[(k+2) mod n]:=oo[(k+1) mod n]+oo[(k+2) mod n];
   i:=(k+3) mod n;
   while i<>k do begin
    a[i]:=max(a[(i+n-1) mod n],a[(i+n-3) mod n]+oo[(i-1+n) mod n]+oo[i]);
    i:=(i+1)  mod n;
   end;
   rez:=max(rez,a[(k-1+n) mod n]);
  end;
 writeln(g,rez);
 close(f); close(g);
end.