#include <iostream>
#include <cstdio>
#include <stack>
#define ll long long
using namespace std;
const int N=1e5+5;
int a[N],n;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
while(scanf("%d",&n),n)
{
for(int i=0;i<n;i++)
scanf("%lld",&a[i]);
a[n]=0;
stack<ll> s;
ll res=0;
for(int i=0;i<=n;i++)
{
while(!s.empty()&&a[s.top()]>a[i])
{
ll t=s.top();
s.pop();
res=max(res,a[t]*(s.empty()?i:i-s.top()-1));
}
s.push(i);
}
cout << res << endl;
}
return 0;
}
POJ 2559(单调栈) 最大矩形面积
最新推荐文章于 2022-01-15 16:01:01 发布