STL stack

//洛谷P2947
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int h[N],ans[N];
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)  cin>>h[i];
    stack<int>st;
    for(int i=n;i>=1;i--){
        while(!st.empty()&&h[st.top()]<=h[i]){
            st.pop();
        }
        if(st.empty())   ans[i]=0;
        else   ans[i]=st.top();
        st.push(i);
    }
    for(int i=1;i<=n;i++)   cout<<ans[i]<<endl;
    return 0;
}

全部评论

相关推荐

昨天 15:58
江西农业大学 C++
听说很多OD都是进了存储部门,这OD在华为存储发展咋样?有没有了解的
被晒没的咸鱼:从业界角度来说,其实华为存储很赚钱,而且ai发展存储刚需大,还有很高的上升空间;但是历史原因导致内部官僚主义严重
投递华为等公司10个岗位 > 华为存储OD事变
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务