题目链接:这里写链接内容 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;
}
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;
}
转载请注明原文地址: https://ju.6miu.com/read-662902.html