题解 | 小猫排队 | 一眼:单调栈?二眼:被骗了!

小猫排队

https://www.nowcoder.com/practice/a88a85759a9b4c9c8dfd687c366ad5bf

#include <iostream>
using namespace std;

const int N= 2e5+5;

int stk[N],t,a[N];
int nxt[N];

int main() {
    int n;
    cin>>n;
    n++;
    for(int i=n;i>=2;i--){
        cin>>a[i];
    }    
    cin>>a[1];
    t=0;
    int p=n+1;
    for(int i=n;i>=1;i--){
        nxt[i]=p;
        if(a[i]>a[1])p=i;
    }
    int l=1,r=n;
    int ans=0;
    while(l<=r){
        if(nxt[l]<=r)l=nxt[l];
        ans++;
        r--;
    }
    cout<<ans<<"\n";
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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