AlgoMooc
← 返回题库

K0079. 成员多级排序

简单通过率 95% · 提交 19 · 通过 18
排序模拟

小慕正在筹备一场重要的团队展示活动,共有 `n` 位成员参与,成员的编号从 `1` 开始。在展示前需要对成员进行排序,规则如下: 1. 先按照能力评分从低到高排列; 2. 如果能力评分相同,则按照经验值从低到高排列; 3. 如果能力评分和经验值都相同,则按照编号从小到大排列。 现已知所有成员的能力评分和经验值,请输出排序后的成员编号序列。

提示:带虚线的词点一下有通俗解释。

输入描述

* 第一行包含一个整数 `n`,表示勇士的人数,满足 `1 <= n <= 100`。 * 第二行包含 `n` 个整数,表示每位勇士的魔力值,范围为 `[1, 200]`。 下标(从1开始)对应勇士的编号。 * 第三行包含 `n` 个整数,表示每位勇士的体魄值,范围为 `[1, 100]`。 下标(从1开始)对应勇士的编号。

输出描述

输出按照规则排序后的勇士编号,编号之间用空格隔开。

示例

示例 1

输入

4
100 100 120 130
40 30 60 50

输出

2 1 3 4

说明:* 编号1和编号2的魔力值都是最小值 `100`,应排在最前; * 再比较体魄值,编号2的体魄值 `30` 小于编号1的体魄值 `40`,所以编号2在编号1之前; * 最终列阵顺序为 `2 1 3 4`。

示例 2

输入

3
90 110 90
45 60 45

输出

1 3 2

说明:* 编号1和编号3的魔力值相同(`90`),体魄值也相同(`45`),因此需要按照编号从小到大排序,编号1在编号3前面; * 编号2魔力值更高,所以在最后。 * 最终列阵顺序为 `1 3 2`。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。