RE四个点,求调
查看原帖
RE四个点,求调
307109
ysahasjacku楼主2022/7/21 09:54
#include<iostream>
#include<stack>
using namespace std;
long long n,a[1000005],b[1000005];
stack<int> s;

int main(){
  	cin>>n;
  	for(int i=0;i<n;i++) cin>>a[i];
  	
  	for(int i=n-1;i>=0;i--){
      while(!s.empty()&&a[i]>=a[s.top()])
        s.pop();
      
      b[i]=s.empty()?0:s.top()+1;
      s.push(i);
      
    }
	for(int i=0;i<n;i++) cout<<b[i]<<" ";
}
2022/7/21 09:54
加载中...