输入样例:
6
3
2
6
1
1
2
输出样例:
3
3
0
6
6
0
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,a[N],g[N];
int q[N],hh=0,tt=-1;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=n;i>0;i--){
while(hh<=tt&&a[q[tt]]<=a[i]) tt--;
if(hh>tt) g[i]=0;
else g[i]=q[tt];
q[++tt]=i;
}
for(int i=1;i<=n;i++) printf("%d\n",g[i]);
return 0;
}