【每日一题】小A的柱状图

小A的柱状图

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

题意:

思路:








#include <cstdio>
#include <stack>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
const int N = 1e6 + 10;
int n,h[N],w[N],l[N],r[N];
void get(int a[N],bool f){
    stack<int> s;
    h[0] = -1;
    s.push(0);
    for(int i = 1;i <= n;i++){
        while(s.size() && h[s.top()] >= h[i]) s.pop();
        if(f) a[i] = s.top();
        else a[n + 1 - i] = (n + 1 - s.top());
        s.push(i); 
    }
}
int main(){
    while(~scanf("%d",&n)){
        if(n == 0) break;
        for(int i = 1;i <= n;i++) scanf("%d",w+i),w[i] += w[i - 1];
        for(int i = 1;i <= n;i++) scanf("%d",h + i);
        get(l,1);
        reverse(h + 1,h + 1 + n);
        get(r,0);
        ll res = 0;
        for(int i = 1;i <= n;i++){
            res = max(res , 1ll * h[n + 1 - i] * (w[r[i] - 1] - w[l[i]]) );
        }
        printf("%lld\n",res);
    }
    return 0;
}
每日一题 文章被收录于专栏

每题一题题目

全部评论

相关推荐

05-09 12:10
济宁学院 Java
程序员小白条:丰富下简历,有点少了,中小厂反正看运气海投
点赞 评论 收藏
分享
05-23 19:33
重庆大学 Java
只学了传统后端,马上去后端实习了,在想要不要学习agent开发相关的。27秋招和26相比难度如何?
我连备胎都不是却还在...:就暑期实习而言,大厂官宣hc 比 26 多,但是我观察看应该低于 26 的,估计秋招也不简单
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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