开始: 2026-10-25 00:00:00

【集训17】复赛模拟赛1025下午

结束: 2026-10-28 00:00:00
当前  2026-10-28 17:04:56  类型: IOI  状态: 已经结束 

P2. 鲁的探险 travel
描述

在广袤的银河系中,宇宙大帝 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
提示

对于 20\% 的数据,N \le 10。

对于 40\% 的数据,N \le 1000。

对于 100\% 的数据,N \le 200000,A[i] \le 10000。


提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交