AcWing 830. 单调栈

 

给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出-1。

#include<bits/stdc++.h>
#define N 100010
using namespace std;
int n,t,w,a[N],b[N];
int main()
{
    scanf("%d",&n);
    b[0]=-1;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&b[i]);
        while(w&&b[a[w]]>=b[i])w--;
        a[++w]=i;
        printf("%d ",b[a[w-1]]);
    }
    return 0;
}

 

AcWing 830. 单调栈

上一篇:c# .net Global.asax文件的作用


下一篇:监控window目录是否为空自定义item