60分RE求助
查看原帖
60分RE求助
947854
ztyo_zysclown楼主2023/11/22 18:32
#include<bits/stdc++.h>
using namespace std;
#define int long long
int venti[711000];
int op[711000];
stack<int> a;
int n;
signed main(){
	cin.tie(0);
	cout.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>op[i];
	}
	for(int i=n;i>=1;i--){
		while(!a.empty()&&op[a.top()]<=op[i]){
			a.pop();
		}
		if(a.empty()){
			venti[i]=0;
		}
		else{
			venti[i]=a.top();
		}
		a.push(i);
	}
	for(int i=1;i<=n;i++){
		cout<<venti[i]<<" ";
	}
	return 0;
}
2023/11/22 18:32
加载中...