Cod sursa(job #162203)

Utilizator tamas_iuliaTamas Iulia tamas_iulia Data 19 martie 2008 18:02:54
Problema Oo Scor 50
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.89 kb
var oua,din : array[0..100000] of longint;
    i,n : longint;
    max : int64;
    f,g : text;
begin
assign(f,'oo.in');reset(f);
assign(g,'oo.out');rewrite(g);
read(f,n);
for i:=1 to n do read(f,oua[i]);
{ dinamica 1 }
din[2]:=oua[1]+oua[2];
for i:=3 to n-1 do
    if din[i-3]+oua[i]+oua[i-1]>din[i-1] then
       din[i]:=din[i-3]+oua[i]+oua[i-1]
    else din[i]:=din[i-1];
max:=din[n-1];
fillchar(din,100000,0);
{dinamica 2 }
din[3]:=oua[2]+oua[3];
for i:=3 to n do
    if din[i-3]+oua[i]+oua[i-1]>din[i-1] then
       din[i]:=din[i-3]+oua[i]+oua[i-1]
    else din[i]:=din[i-1];
if din[n]>max then max:=din[n];
{dinamica 3}
fillchar(din,100000,0);
for i:=4 to n-2 do
    if din[i-3]+oua[i]+oua[i-1]>din[i-1] then
       din[i]:=din[i-3]+oua[i]+oua[i-1]
    else din[i]:=din[i-1];
if din[n]+oua[1]+oua[n]>max then max:=din[n]+oua[1]+oua[n];

writeln(g,max);
close(g);
end.