| 问题描述 |
|---|
星际开拓舰队正在一片未知的单向星际航道中航行。该航道由连续的 $$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$$;
|
| 相关 |