| 比赛 | 
    近期练习题回顾 | 
    评测结果 | 
    AAAAAAATTTTT | 
    | 题目名称 | 
    向右看齐 | 
    最终得分 | 
    58 | 
    | 用户昵称 | 
    liuyu | 
    运行时间 | 
    5.010 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    21.29 MiB  | 
    | 提交时间 | 
    2018-10-26 21:58:40 | 
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
inline void in(int &x){
    x=0;int f=1;char c=getchar();
    while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}
    while (isdigit(c))x=(x<<3)+(x<<1)+(c^48),c=getchar();
    x*=f;
}
inline void out(int x){
    if(!x){putchar('0');return;}
    if(x<0)x=~x+1,putchar('-');
    char c[30]={0};
    while(x)c[++c[0]]=x%10+48,x/=10;
    while(c[0])putchar(c[c[0]--]);
}
const int N=1e6+10;
int n;
int a[N],d[N];
int main(){
	freopen("lookup.in","r",stdin);
	freopen("lookup.out","w",stdout);
	in(n);
	for(int i=1;i<=n;i++)in(a[i]);
	for(int i=1;i<n;i++)
		for(int j=i+1;j<=n;j++){
			if(a[i]<a[j]){
				d[i]=j;
				break;
			}
		}
	for(int i=1;i<=n;i++)out(d[i]),putchar('\n');
	return 0;
}