Pagini recente » Cod sursa (job #2926942) | Cod sursa (job #2442954) | Cod sursa (job #2748685) | Cod sursa (job #2770595) | Cod sursa (job #390408)
Cod sursa(job #390408)
program expresie;
var f,o:text;
i,max,max2,p,p2,sp,n:longint;
m:array[0..1000]of integer;
s:array[0..1000]of longint;
begin
assign(f,'expresie.in');
reset(f);
assign(o,'expresie.out');
rewrite(o);
readln(f,n);
for i:=1 to n do
begin
readln(f,m[i]);
s[i]:=m[i-1]+m[i];
end;
for i:=1 to n do
begin
if s[i]>max then
begin
max2:=max;p2:=p;
max:=s[i];
p:=i;
end else
if s[i]=max then
begin
if (m[p-1]*m[p])<(m[i-1]*m[i]) then begin p2:=p;p:=i;end else
if (m[p-1]*m[p])=(m[i-1]*m[i]) then begin p2:=p;p:=i;end;
end
else if s[i]>max2 then
begin
max2:=s[i];
p2:=i;
end else
if s[i]=max2 then
if ((m[p2-1]*m[p2])<(m[i-1]*m[i]))or((m[p2-1]*m[p2])<(m[i-1]*m[i])) then
begin p2:=p;p:=i;end;
end;
if p-p2=1 then
sp:=m[p2-1]*m[p]*m[p2]
else if p2-p=1 then
sp:=m[p]*m[p-1]*m[p2]
else sp:=m[p-1]*m[p]+m[p2-1]*m[p2];
m[p-1]:=0;m[p]:=0;m[p2-1]:=0;m[p2]:=0;
for i:=1 to n do
sp:=sp+m[i] ;
write(o,sp);
close(o);
close(f);
end.