南阳 249 最大长方形

和“积木”差不多

#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;
}


 

你可能感兴趣的:(南阳 249 最大长方形)