0分求助
查看原帖
0分求助
636008
blackmonkey楼主2023/9/24 15:25
#include <bits/stdc++.h>
int n,x;
using namespace std;
int a[300001],s[3000001],id[3000001],top;
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;++i){
		scanf("%d",&a[i]);
	}
	for(int i=n;i>=1;i--){
		while(top && a[s[top]<=a[i]]) top--;
		if(!top) id[i]=0;
		else id[i]=s[top];
		s[++top]=i;
	}
	for(int i=1;i<=n;i++) printf("%d ",id[i]);
} 
2023/9/24 15:25
加载中...