Cod sursa(job #162206)

Utilizator tamas_iuliaTamas Iulia tamas_iulia Data 19 martie 2008 18:08:23
Problema Oo Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.91 kb
var oua,din : array[0..100001] 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];
for i:=0 to 100001 do din[i]:=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}
for i:=0 to 100001 do din[i]:=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-2]+oua[1]+oua[n]>max then max:=din[n-2]+oua[1]+oua[n];

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