小A的柱状图

小A的柱状图

https://ac.nowcoder.com/acm/problem/23619

维护一个单调递增的队列,如果一个新的柱比之前的短,那就更新最大的矩形方案。

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <stack>
#include <queue>
#include <cmath>
#define ll long long
#define pi 3.1415927
#define inf 0x3f3f3f3f
#define mod 1000000007
using namespace std;
ll n,m,w[1000005],h[1000005];
int main ()
{
    ll T,i,t,j,k,p,sum=0;
    cin>>n;
    for(i=1;i<=n;++i){
        cin>>p;
        w[i]=w[i-1]+p;
    }
    for(i=1;i<=n;++i)
        cin>>h[i];
    h[n+1]=0;
    stack<ll> s;
    s.push(0);
    for(i=1;i<=n;++i){
        if(h[i]>=h[s.top()]||s.empty())
            s.push(i);
        else{
            while(!s.empty()&&h[i]<h[s.top()]){
                int l=s.top();
                s.pop();
                sum=max(sum,(w[i-1]-w[s.top()])*h[l]);
            }
            s.push(i);
        }
    }
    cout<<sum<<endl;

    return 0;
}
全部评论

相关推荐

07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
06-23 11:28
门头沟学院 Java
牛客91966197...:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务