4371: B. 鲁的探险 (travel.c/cpp/pas)

内存限制:512 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:2 解决:1

题目描述

## Problem B. 鲁的探险 (travel.c/cpp/pas) 在广袤的银河系中,宇宙大帝 Luke 决定前往传说中的秘境“英语办公室”进行一场充满挑战的冒险。英语办公室由 $N$ 个神秘的能量节点组成,这些节点散布在不同的空间维度中,每个节点都有一个通往其他节点的时空虫洞,但每个虫洞只能通往一个固定的节点。 每个能量节点蕴含着一种被称为 $O_5$ 的宇宙能量,第 $i$ 个节点的 $O_5$ 能量值为 $A[i]$。这些能量极其珍贵,只有最强大的星际征服者才能驾驭。 Luke 的目标是从任意一个节点出发,沿着时空虫洞的路线,尽可能多地收集 $O_5$ 能量。然而,冒险途中有个规则:他只能顺着虫洞一直前进,无法回头,也就是说,每个节点只能访问一次(到达一个节点后,再次访问不再计入 $O_5$ 能量值)。 现在,Luke 想知道,从每个能量节点出发,他能够收集到的 $O_5$ 能量之和的最大值是多少。这个问题至关重要,因为这不仅关系到他的力量增长,还将决定他在宇宙中的地位。 作为 Luke 的智囊,你需要帮助他计算出从每个节点出发时,他能收集到的最大 $O_5$ 能量值,以确保他能够完成这场壮丽的星际冒险。

输入

### 输入格式 - 第一行包含一个正整数 $N$,表示能量节点的数量。 - 第二行包含 $N$ 个非负整数 $A[i]$,表示每个能量节点的 $O_5$ 价值。 - 第三行包含 $N$ 个正整数 $F[i]$,表示通过第 $i$ 个节点的时空虫洞到达的节点为 $F[i]$,可能出现 $F[i] = i$ 的情况。

输出

### 输出格式 - 输出包含 $N$ 行,第 $i$ 行包含一个非负整数,表示从第 $i$ 个节点出发,Luke 能收集到的 $O_5$ 能量值的最大值。

样例输入 复制

8 
5 4 3 2 1 1 1 1
2 3 1 1 2 7 6 8

样例输出 复制

12
12
12
14
13
2
2
1

提示

### Examples #### 【样例 1 输入】 ```input 8 5 4 3 2 1 1 1 1 2 3 1 1 2 7 6 8 ``` #### 【样例 1 输出】 ```output 12 12 12 14 13 2 2 1 ``` ### Notes 对于 $20\%$ 的数据,$N \le 10$。 对于 $40\%$ 的数据,$N \le 1000$。 对于 $100\%$ 的数据,$N \le 200000$,$A[i] \le 10000$​。