//我的想法是 在 石子堆中找一个单调的区间 例如 1 2 3 2 1,分别合并为以下情况 3 3 2 1, 3 3 3,6 3, 9。基本是这种思想,
//可是提交后老是 WA,希望那位高手可以帮帮忙
#include <stdio.h>
int solve(int *a,int n);
int main ()
{
int stone[50000];
int anwser[10000];
int i,j=0;
int n;
scanf("%d",&n);
while(n)
{
for(i=0;i<n;i++)
scanf("%d",&stone[i]);
if(n!=1)
anwser[j]= solve(stone,n);
else
anwser[j]=0;
scanf("%d",&n);
j++;
}
for(i=0;i<j;i++)
printf("%d/n",anwser[i]);
}
int solve(int *stone,int n)
{
int sum=0;
int i,j,l;
while(n>=3)
{
for(i=1;i<n-1&&n>=3;i++)
{
if(stone[i-1]<=stone[i+1])
{
sum+=stone[i]=stone[i-1]+stone[i];
for(j=i;j<n;j++)
stone[j-1]=stone[j];
n--;
i--;
}
}
for(l=n-2;l>0&&n>=3;l--)
{
if(stone[l+1]<=stone[l-1])
{
sum+=stone[l]=stone[l+1]+stone[l];
for(j=l+2;j<n;j++)
stone[j-1]=stone[j];
n--;
}
}
}
sum+=stone[0]+stone[1];
return sum;
}