#P573. 走走跳跳

走走跳跳

题目描述

nn 个位置排成一排,第 ii 个位置都有一个分数 aia_i(分数可能是正数,也可能是负数)。小爱从 11 号位置出发,最终要走到 nn 号位置。当小爱在第 ii 个位置时,有两种选择:

  • 她可以直接走到下一个位置(也就是 i+1i+1 号位置);
  • 也可以选择跳到第 tit_i 号位置(保证i<tii<t_i)。

小爱的得分就是一路上经过的所有位置的分数之和,请问应该如何安排行动,才能使获得的分数之和达到最大?

输入格式

第一行:一个整数 nn; 第二行:nn 个整数,表示 a1,a2,,ana_1,a_2,\cdots,a_n; 第三行:n1n-1个整数,表示 t1,t2,,tn1t_1,t_2,\cdots,t_{n-1}

输出格式

单个整数:表示可能拿到的最高分数

3
4 -2 6
3 3
10

数据范围

  • 对于 30%30\% 的数据,保证 1n501\leq n\leq 50
  • 对于 60%60\% 的数据,保证 1n50001\leq n\leq 5000
  • 对于 100%100\% 的数据,保证 1n100,0001\leq n\leq 100,000
  • 107ai107-10^7 \leq a_i \leq 10^7
  • i<tini \lt t_i \leq n