A5709.植物
入门
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
小花是一个才华横溢的植物研究者。在她的研究中,她特别关注植物的生长规律。
在一次实验中,小花种植了一排植物,并每天观察它们的高度。她注意到,每棵植物的生长速度是不同的,有的植物成长很快,有的则相对较慢。
为了了解这些植物之间的相互关系,小花决定寻找每棵植物右边第一棵高度比它更高的植物的位置。
经过一番思考,小花设计了一个方法。她的程序将读取给定的植物高度序列,并计算出每棵植物右侧第一个更高植物的位置。
即给出一个长度为 n 的植物高度序列 A,根据规则求数组 B。
其中 Bi 表示第一个满足 j>i 且 Aj>Ai 的下标 j,没有找到这一个下标 Bi 就为 0。
通过这种方式,小花希望能够更深入地了解这些植物的生长规律。
最后输出数组 B。
输入格式
第一行包含一个整数 n,表示植物高度序列 A 的长度。
第二行包含 n 个整数,表示植物的高度数组每个元素的大小。
输出格式
输出 n 个整数,表示符合要求的数组B。
输入输出样例
输入#1
6 2 5 3 7 1 8
输出#1
2 4 4 6 6 0
说明/提示
数据范围:1≤n≤105,1≤Ai≤105。
例如,对于数组 A=[2,5,3,7,1,8],我们可以得到数组 B=[2,4,4,6,6,0]。解释如下:
对于 A1=2,右侧第一个比它大的数是 A2=5,所以 B1=2。
对于 A2=5,右侧第一个比它大的数是 A4=7,所以 B2=4。
对于 A3=3,右侧第一个比它大的数是 A4=7,所以 B3=4。
对于 A4=7,右侧第一个比它大的数是 A6=8,所以 B4=6。
对于A5=1,右侧不存在比它大的数,所以B5=6。
对于A6=8,右侧不存在比它大的数,所以B6=0。
你需要根据给定的数组A,计算出数组B并输出。