神秘事件
查看原帖
神秘事件
1053216
Fallenrain楼主2025/7/22 17:12

感觉我的代码和几个题解都不太一样,但是还是过了,就想着发过来问一下:

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

int a[3000010];
int st[3000010];
int b[3000010],l=0;
int v[3000010];
int main(){
	int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=n;i>0;i--){
        while(a[i]>=st[l] && l>0){
            l--;
        }
        if(l==0){
            b[i]=0;
        }
        b[i]=v[l];
        st[++l]=a[i];
        v[l]=i;
    }
    for(int i=1;i<=n;i++){
        cout<<b[i]<<' ';
    }
    cout<<'\n';
	return 0;
}
2025/7/22 17:12
加载中...