#B3671. [语言月赛202210] 配餐

[语言月赛202210] 配餐

题目描述

午饭时间,喵喵喵幼儿园的 nn 位小朋友从左到右排成一列等待领取自己的午餐。我们将这些小朋友从左到右依次标号为 1,2,,n1,n1, 2, \cdots , n - 1, n

负责配餐的老师已经拿到了所有人的午饭餐食,餐食同样也是从左到右排成一排。

老师手里拿到了一份序列 r1rnr _ 1 \cdots r _ n,代表编号为 ii 的小朋友应该拿到从左向右数第 rir _ i 份午餐餐食(1rin1 \leq r _ i \leq nrir _ i 两两不同)。

按照上面的序列分发完成后,老师又拿到了一个序列 a1ana _ 1 \cdots a _ n,其中 aia _ i 代表未分发前从左向右数第 ii 份餐食的一个参数

老师想要知道,对每个小朋友,他们所拿到的午餐的这个参数的值是多少。但是这个任务对于老师来说太难了,所以喵喵喵幼儿园找到了万能的你。

输入格式

共三行。

第一行一个整数,代表 nn

第二行 nn 个整数,代表 r1rnr _ 1 \cdots r _ n

第三行 nn 个整数,代表 a1ana _ 1 \cdots a _ n

输出格式

一行,nn 个整数。第 ii 个整数代表编号为 ii 的小朋友所拿到的午餐的这个参数是多少。

4
4 1 3 2
7 4 2 9
9 7 2 4

提示

样例解释

编号为 11 的小朋友拿到了第四份餐食,参数为 99

编号为 22 的小朋友拿到了第一份餐食,参数为 77

编号为 33 的小朋友拿到了第三份餐食,参数为 22

编号为 44 的小朋友拿到了第二份餐食,参数为 44

数据规模与约定

本题共 1010 个测试点。

对第一个测试点,保证 n=2,r1=1,r2=2n = 2, r_1 = 1, r_2 = 2

对第二个测试点,保证 n=2n = 2

对第三、四个测试点,保证 n100n \leq 100

对第五、六个测试点,保证对任意的 1in,ri=i1 \leq i \leq n, r _ i = i

对全部的测试点,保证 $2 \leq n \leq 1 \times 10 ^ 5, 1 \leq a _ i \leq 10 ^ 9, 1 \leq r _ i \leq n$ 且不存在一对 (i,j)(i, j) 使得 ri=rjr_i = r_j