Cod sursa(job #123031)

Utilizator valytgjiu91stancu vlad valytgjiu91 Data 14 ianuarie 2008 11:24:52
Problema Oo Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.88 kb
var n,i,j,k:integer;
   rez:longint;
   oo:array[0..9999] of integer;
   a:array[0..9999] of longint;
   f,g:text;
{}
function max (a,b:longint):longint;
begin
if a>b then max:=a
else max:=b;
end;
{}
begin
assign(f,'oo.in');
reset(f);
read(f,n);
for i:=0 to n-1 do read(f,oo[i]);
close(f);
if n=2 then rez:=oo[0]+oo[1]
        else
        for k:=0 to n-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-1+n)mod n],a[(i-3+n)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;
assign(g,'oo.out');
rewrite(g);
writeln(g,rez);
close(g);
end.