题目链接:​​这里写链接内容​​​
dp题,面积为一个矩形的左扩展和右扩展边界乘上这个矩形的高度
代码如下:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
#define N 50010
long long int a[N],l[N],r[N];
int main(){
int i,j,n,m;
cin>>n;
for(i=1;i<=n;i++){
cin>>a[i];
l[i]=r[i]=i;
}
a[n+1]=a[0]=0;
for(i=1;i<=n;i++){
j=i+1;
while(a[i]<=a[j]) {
j++;
}
r[i]=j;
}
for(i=1;i<=n;i++){
j=i-1;
while(a[i]<=a[j]) {
j--;
}
l[i]=j;
}
// for(i=1;i<=n;i++) cout<<l[i]<<r[i]<<endl;
long long int Max=0;
for(i=1;i<=n;i++){
Max=max(Max,a[i]*(r[i]-l[i]-1));
}
cout<<Max<<endl;
return 0;
}