5837:L2-02 星际航道的引力滑行

时间限制:2 S   /  内存限制:65536 KB
AC:10   /  Submit:55
问题描述

星际开拓舰队正在一片未知的单向星际航道中航行。该航道由连续的 $$n$$ 个跳跃点组成,依次编号为 $$1$$ 到 $$n$$。探测器回传了每个跳跃点的暗物质能量等级,其中第 $$i$$ 个跳跃点的能量等级为 $$a_i$$。

由于飞船搭载的“引力滑行”引擎的设计特性,单次跃迁只能从高能量跳跃点直接滑行至低能量跳跃点。具体而言,对于当前所处的跳跃点 $$i$$,飞船只能滑行至编号大于当前节点(即 $$j > i$$)且能量等级严格小于当前节点(即 $$a_j < a_i$$)的跳跃点 $$j$$。

为了使单次跃迁的距离最大化,舰队指挥官希望针对航道上的每一个跳跃点 $$i$$,找出符合上述条件且距离最远(即 $$j$$ 最大)的目标跳跃点,并测算出启动滑行所能略过的中间跳跃点数量。

如果对于某个跳跃点 $$i$$,在其前方没有任何跳跃点的能量等级严格小于 $$a_i$$,则说明引擎无法从该位置启动远距离滑行模式,此时系统需要报错并记录为 "-1"。

请你编写一个测算程序,为这 $$n$$ 个跳跃点依次计算出它们启动引力滑行所能略过的中间跳跃点数量。

输入描述

输入包含两行。

第一行包含一个正整数 $$n$$,表示航道上跳跃点的总数量。

第二行包含 $$n$$ 个正整数,第 $$i$$ 个数 $$a_i$$ 代表第 $$i$$ 个跳跃点的暗物质能量等级。数字之间以一个空格分隔。

输出描述

输出一行包含 $$n$$ 个整数,第 $$i$$ 个整数代表从第 $$i$$ 个跳跃点启动滑行所能略过的中间跳跃点数量。

如果找不到符合条件的目标跳跃点,则对应位置输出 "-1"。

数字之间以 $$1$$ 个空格分隔,行末不得有多余空格。

样例输入复制样例

6

10 8 5 3 50 45

样例输出

2 1 0 -1 0 -1

提示说明

对于 $$30\%$$ 的数据,$$2 \le n \le 1000,a_i \le 100000$$;

对于 $$50\%$$ 的数据,$$2 \le n \le 10000,a_i \le 100000$$;

对于 $$70\%$$ 的数据,$$2 \le n \le 100000,a_i \le 100000$$;

对于 $$100\%$$ 的数据,$$2 \le n \le 100000,a_i \le 1000000000$$; 

相关

2026天梯赛校内选拔赛


Copyright 2016 - 2026 XUJC ACM Team
闽ICP备2020022076号-1