比赛 近期练习题回顾 评测结果 AAAAAAAAAAAA
题目名称 向右看齐 最终得分 100
用户昵称 梦那边的美好ET 运行时间 0.105 s
代码语言 C++ 内存使用 28.92 MiB
提交时间 2018-10-18 11:51:25
显示代码纯文本
#include<iostream>  
#include<cstdio>
#include<cmath>
#include<cstring>  
#include<algorithm>  
using namespace std; 
int n,a[1000001],d[1000001][2],ld=0,ans[1000001];
int main(){ 
    freopen("lookup.in","r",stdin);        
    freopen("lookup.out","w",stdout);      
	scanf("%d",&n);
	for(int i=1;i<=n;i++)scanf("%d",&a[i]);
	for(int i=n;i>=1;i--){
		while(d[ld][0]<=a[i]&&ld!=0)ld--;
		ans[i]=d[ld][1];
		d[++ld][0]=a[i];d[ld][1]=i;
	}
	for(int i=1;i<=n;i++)printf("%d\n",ans[i]);
    return 0;  
}