51nod 1102 面积最大的矩形

    xiaoxiao2021-03-26  28

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

    最新回复(0)