#include<bits/stdc++.h>
using namespace std;
#define maxn 3234567
int n,m,k;
struct pp
{
int i,w;
};
inline int readi()
{ char x; int a=0; bool w=0; x=getchar();
while(x<'0'||x>'9')
{ if(x=='-') w=1; x=getchar(); }
while(x>='0'&&x<='9')
{ a=a*10+x-'0'; x=getchar(); }
return w?-a:a; }
stack<pp> q;
int a[maxn],f[maxn];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
a[i]=readi();
}
pp xc;
for(int i=n;i>=1;i--)
{
if(q.empty())
{
xc.i=i;
xc.w=a[i];
q.push(xc);
continue;
}
while((!q.empty())&&q.top().w<a[i]) q.pop();
f[i]=q.top().i;
xc.i=i;
xc.w=a[i];
q.push(xc);
}
for(int i=1;i<=n;i++)
cout<<f[i]<<" ";
return 0;
}
但是洛谷机子是re
记录