#TT20251016. 社会的本质

社会的本质

题目描述

GGB发表暴论, 社会的本质就是由无限个上下属关系形成的树.

为了方便, 把社会中的个体按 1n1\sim n 编号, 从而将社会组织成一棵树, 1号个体作为老大哥(这棵树的根节点).除了老大哥以外的每一个个体都有一个单独的上司(它在树上的 “双亲结点”).

所有的第 ii 个个体都有一个不同的能力指数 pip_i, 描述了对其工作的擅长程度. 如果个体 ii 是个体 jj 的祖先节点,那么我们我们把个体 jj 叫做 ii 的下属.

不幸地是, 个体们发现经常发生一个上司比它的一些下属能力低的情况, 在这种情况下, 上司应当考虑晋升它的一些下属. 你的任务是帮助它弄清楚这是什么时候发生的. 简而言之, 对于社会中的每一头个体 ii,请计算其下属 jj 的数量满足 pj>pip_j > p_i.

输入格式

输入的第一行包括一个整数 nn.

接下来的 nn 行包括个体们的能力指数 p1,p2pnp_1,p_2 \dots p_n. 保证所有数互不相同.

接下来的 n1n-1 行描述了个体 2n2 \sim n 的上司的编号.再次提醒, 1 号个体作为老大哥, 没有上司.

输出格式

输出包括 nn 行. 输出的第 ii 行应当给出有多少个体 ii 的下属比个体 ii 能力高.

输入输出样例 #1

输入 #1

5
804289384
846930887
681692778
714636916
957747794
1
1
2
3

输出 #1

2
0
1
0
0

数据范围

对于 100%100\% 的数据, 保证1n1051\le n \le 10^5, 1pi1091 \le p_i \le 10^9