- Largest Rectangle in a Histogram
AC代码?
- 2025-5-11 15:20:31 @
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,p;
int a[100010];
int s[100010],w[100010];
long long ans;
int main()
{
while(cin>>n&&n)
{
ans=0; p=0;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
a[n+1]=0;
for(int i=1;i<=n+1;i++)
{
if(a[i]>s[p]) s[++p]=a[i],w[p]=1;
else{
int width=0;
while(s[p]>a[i])
{
width+=w[p];
ans=max(ans,(long long)width*s[p]);
p--;
}
s[++p]=a[i],w[p]=width+1;
}
}
cout<<ans<<endl;
}
}
0 条评论
目前还没有评论...
信息
- ID
- 1577
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 36
- 已通过
- 11
- 上传者