Cod sursa(job #48220)

Utilizator dascaluDascalu Andi-Florin dascalu Data 4 aprilie 2007 15:05:29
Problema Oo Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.04 kb
var  f,g:text;
     v:array[1..100000]of byte;
     x1,x2,x3,x4,a,b,c,a1,b1,c1,n,i:longint;
function max(x,y:longint):longint;
begin
     if(x>y)then
     max:=x
     else
     max:=y;
end;
begin
assign(f,'oo.in');
reset(f);
read(f,n);
for i:=1 to n do
read(f,v[i]);
close(f);
a1:=v[1]+v[3];
b1:=0;
c1:=v[1];
for i:=4 to n do
begin
     a:=c1+v[i];
     b:=a1+v[i];
     c:=max(b1,c1);
     a1:=a;
     b1:=b;
     c1:=c;
end;
x1:=a;

a1:=0;
b1:=0;
c1:=v[1]+v[2];
for i:=4 to n do
begin
     a:=c1+v[i];
     b:=a1+v[i];
     c:=max(b1,c1);
     a1:=a;
     b1:=b;
     c1:=c;
end;
x2:=c;

a1:=0;
b1:=v[2]+v[3];
c1:=0;
for i:=4 to n do
begin
     a:=c1+v[i];
     b:=a1+v[i];
     c:=max(b1,c1);
     a1:=a;
     b1:=b;
     c1:=c;
end;
x3:=max(b,c);

a1:=v[3];
b1:=0;
c1:=0;
for i:=4 to n do
begin
     a:=c1+v[i];
     b:=a1+v[i];
     c:=max(b1,c1);
     a1:=a;
     b1:=b;
     c1:=c;
end;
x4:=max(b,c);
assign(g,'oo.out');
rewrite(g);
writeln(g,max(max(x1,x2),max(x3,x4)));
close(g);
end.