CCF 201312-3 最大的矩形 100分
Posted 登登登ccc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CCF 201312-3 最大的矩形 100分相关的知识,希望对你有一定的参考价值。
思路分析:依次遍历高度数组,首先选择正在遍历的高度作为中间值,并向左和向右进行延申,如果遇到比这个高度更低的则停止,接着计算这一块的矩形面积,和最大值比较,确定是否更新最大值。
#include<bits/stdc++.h>
using namespace std;
int a[1010];
int main() {
int n;
cin>>n;
for(int i=0; i<n; i++)
cin>>a[i];
int ans=0;
for(int i=0; i<n; i++) {
int left=i,right=i;
while(left>0 && a[left-1]>=a[i])
left--;
while(right<n && a[right+1]>=a[i])
right++;
ans=max(ans,(right-left+1)*a[i]);
}
cout<<ans<<endl;
return 0;
}
以上是关于CCF 201312-3 最大的矩形 100分的主要内容,如果未能解决你的问题,请参考以下文章