通知下发
题号:NC204281
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

    抗击疫情期间,听课不停学,通知都由各级组织向下传达。例如,校长办公室做出某项决定,先传达到各学院,学院负责人再下发到各年级,再由辅导员通知各班班长,再由班长通知到个人。

    已知每个人传达到下属所消耗的时间和每个人理解信息的时间。(传达给不同的下属,时间不一定相同)

    现在有一个信息要传达给一个指定者。只有信息接收者才需要理解信息(花费的时间),中间层级只起到复读机的作用,不需要花费理解信息的时间。

    桐姐需要掌握这个信息传递过程的效率,于是她想找出最大时间消耗的那个路线(包括信息接收指定者所需要理解信息的时间),这样就能方便整改。

输入描述:

第一行一个正整数,代表学校的人数(校长是号,其他人标记为号到号)。()

第二行有个正整数,代表从号到号,每个人需要理解信息的时间。()

接下来的行,每行有个正整数,代表的上级,传播信息需要消耗的时间。()

输出描述:

一个正整数,代表桐姐选定某人作为信息接收指定者后,花费总时间的最大值。

示例1

输入

复制
3
3 4
1 2 4
1 3 2

输出

复制
7

说明

号为信息接受者,消耗时间为

号为信息接受者,消耗时间为

故最大值为

备注:

只有信息接收者需要理解信息,传达者不需要花费时间理解信息。