Hlog 2011-07-29 00:03:00
点我顶贴
收藏
删除
program energy;
type point=^re;
re=record
h:longint;
l:longint;
next:point;
end;
var p1,p2,head,jesus:point;
i,n:integer;
max,sum:longint;
a:array[1..100] of point;
begin
readln(n);
new(p1);
read(p1^.h);
head:=p1;
for i:=2 to n do
begin
new(p2);
read(p2^.h);
p1^.l:=p2^.h;
p1^.next:=p2;
p1:=p2;
end;
p1^.l:=head^.h;
p1^.next:=head;
jesus:=head;
max:=0;
repeat
sum:=0;
p1:=head; p2:=p1^.next;
while p2<>head do
begin
sum:=sum+p1^.h*p2^.h*p2^.l;
p2:=p2^.next;
end;
if sum>max then max:=sum;
head:=head^.next;
until head=jesus;
writeln(max);
p1:=head;
for i:=1 to n-1 do
begin
a[i]:=p1;
p1:=p1^.next;
end;
dispose(p1);
for i:=1 to n-1 do dispose(a[i]);
readln;
end.