码迷,mamicode.com
首页 > 其他好文 > 详细

EOJ 3213 Stack

时间:2018-07-25 01:02:43      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:first   mes   second   while   code   air   pair   empty   c++   

#include<bits/stdc++.h>
using namespace std;

typedef pair<int,int> pii;
const int maxN=1e6+5;
stack<pii> s;
int res[maxN];

int main(){
    int n,u;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d",&u);
        while(!s.empty()&&s.top().first<u){
            res[s.top().second]=i+1;
            s.pop();
        }
        s.push(pii(u,i));
    }
    while(!s.empty()){
        res[s.top().second]=0;
        s.pop();
    }
    for(int i=0;i<n;i++)printf("%d\n",res[i]);
}

 

EOJ 3213 Stack

标签:first   mes   second   while   code   air   pair   empty   c++   

原文地址:https://www.cnblogs.com/TAMING/p/9363395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!