和“积木”差不多
#include<stdio.h>
#include<string.h>
int len[110],hight[110];
int Min(int i,int j){
int t=100001;
for(j+=1;j<=i;j++){
if(hight[j]<t) t=hight[j];
}
return t;
}
int main(){
int n,i,j,min,max;
while(scanf("%d",&n),n){
memset(len,0,sizeof(len));
for(i=1;i<=n;i++){
scanf("%d",&hight[i]);
len[i]=i;
}
max=-1;
for(i=1;i<=n;i++){
for(j=0;j<i;j++){
min=Min(i,j);
if(min*(i-j)>max) max=min*(i-j);
}
}
printf("%d\n",max);
}
return 0;
}