芙莉莲与魔导书
时间限制:1 秒
内存限制:256 MB
输入:标准输入
输出:标准输出
题目描述
一天,在旅途之中,芙莉莲偶然发现了一家魔导书店。不出所料,她买了 $n$ 本魔导书,几乎花光了所有积蓄。回到家后,芙莉莲粗略地研究了每一本书,并用两个参数描述第 $i$ 本书:$a_i$(难度)和 $b_i$(潜力)。
由于芙莉莲并不着急,她不仅关心所学知识的潜力,也享受解析复杂魔导书的乐趣。因此,她决定按照一种特殊的顺序来学习这些书。当她感到无聊时,她会从所有可用的书中挑选难度最大($a_i$ 最大)的那一本;而当她想学一些全新内容时,她会挑选潜力最大($b_i$ 最大)的那一本。
如果有多个魔导书在感兴趣的那个参数上并列最大,那么她会从中选出第二参数最大的一个;如果第二参数也相等,则选择她最早购买的那一本。
芙莉莲会根据心情选择书籍,显然不会重复阅读已经看过的书。因此,费伦计划将已经学完的魔导书卖掉,以稍微恢复团队的财力。为了避免误卖还没读的书,她请你输出芙莉莲阅读这些书的顺序。
输入格式
第一行包含一个整数 $n$——购买的魔导书数量($1 \le n \le 10^5$)。
第二行包含 $n$ 个空格分隔的整数 $a_i$——按购买顺序排列的魔导书难度值($1 \le a_i \le 10^9$)。
第三行以相同格式给出整数 $b_i$——魔导书的潜力值($1 \le b_i \le 10^9$)。
最后一行包含 $n$ 个空格分隔的整数 $p_i$——芙莉莲在选择第 $i$ 本书之前的心情指示。若 $p_i = 1$,芙莉莲将选择潜力最大的书;否则 $p_i = 0$,她将选择难度最大的可读书。
输出格式
输出一行 $n$ 个空格分隔的整数,它们是从 $1$ 到 $n$ 的互不相同的整数;第 $i$ 个数应为芙莉莲在第 $i$ 次选择的书编号。
评分系统
每个子任务的分数仅当该子任务及其所有必要子任务的所有测试都通过时才可获得。
| 子任务 | 分值 | 限制 | 必要子任务 | 检查信息 |
|---|---|---|---|---|
| 1 | 10 | $n, a_i, b_i \le 10$ | 无 | 全部通过 |
| 2 | 5 | 所有 $a_i$ 相同 | 无 | 首次错误 |
| 3 | 10 | $1 \le a_i, b_i \le n$,且所有 $a_i$ 互不相同,所有 $b_i$ 互不相同 | 无 | 首次错误 |
| 4 | 30 | $n \le 1000$ | 1 | 首次错误 |
| 5 | 5 | 对于任意 $i \ne j$,数对 $(a_i, b_i)$ 与 $(a_j, b_j)$ 互不相同 | 3 | 首次错误 |
| 6 | 40 | 无额外限制 | 1–5 | 首次错误 |
示例
示例 1
输入
5
1 2 3 4 5
5 4 3 2 1
1 0 1 0 0
输出
1 5 2 4 3
示例 2
输入
6
3 10 6 2 10 1
3 5 10 7 5 9
0 0 1 1 0 1
输出
2 5 3 6 1 4
