Pagini recente » Cod sursa (job #3256114) | Cod sursa (job #900656) | Cod sursa (job #674238) | Cod sursa (job #2564074) | Cod sursa (job #162203)
Cod sursa(job #162203)
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.