Pagini recente » Cod sursa (job #4843) | Editorial runda 9 | Cod sursa (job #2452648) | Cod sursa (job #1794667) | Cod sursa (job #162197)
Cod sursa(job #162197)
var oua,din : array[0..10000] 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,10000,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,10000,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.