4211: 云顶之弈的思考

内存限制:128 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:85 通过:23

题目描述

pl在玩云顶之弈时,他的N(1≤N≤10^5)个英雄站成一排,于是它思考英雄i的身高是Hi(1≤Hi≤1,000,000).现在,每个英雄都在向右看齐.对于i英雄,如果英雄j满足i<j且Hi<Hj,我们可以说英雄i可以仰望英雄j. 求出每个英雄离她最近的仰望对象.

输入格式

第 1 行输入 N,之后每行输入一个身高 H_i。

输出格式

共 N 行,按顺序每行输出一个英雄的最近仰望对象,如果没有仰望对象,输出 0。

输入样例 复制

6 
3 
2 
6 
1 
1 
2 

输出样例 复制

3 
3 
0 
6 
6 
0 

数据范围与提示

简单的二层循环会超时。最近学了KMP算法。有一个跳跃思维能减少运行时间
【输入说明】6 个英雄的身高分别为 3, 2, 6, 1, 1, 2.
【输出说明】英雄#1,#2 仰望英雄#3,英雄#4,#5 仰望英雄#6,英雄#3 和#6 没有仰望对象。
【数据规模】
对于 20%的数据: 1≤N≤10;
对于 50%的数据: 1≤N≤1,000;
对于 100%的数据:1≤N≤100,000;1≤H_i≤1,000,000;

分类标签