自认为已经开得够充裕惹。。。
但是全部RE。。!
#include<bits/stdc++.h>
using namespace std;
long long n,a[3000005],f[3000005];
stack<long long> q;
int main()
{
scanf("%lld",&n);
for(long long i=1;i<=n;i++) scanf("%lld",&a[i]);
f[n]=0;
q.push(n);
for(long long i=n-1;i>=1;i--)
{
while(a[q.top()]<=a[i] && !q.empty()) q.pop();
f[i]=q.top();
q.push(i);
}
for(long long i=1;i<=n;i++) printf("%lld ",f[i]);
printf("\n");
}