一个关于序列的游戏

题目描述

有一个序列,你可以在上面删除符合要求的连续段若干次。每次删除都会得到连续段长度对应的分数。 需要符合的要求为: 1. 相邻两个元素相差为 $1$。 2. 如果某个元素不在连续段的最左或最右,那么这个元素就不能同时小于相邻的左右两个元素。 $[1,2,3,4,3],[1,2],[3,2],[3]$ 都符合条件。 显然,删除掉连续段后,这个段的左边和右边并在一起成为相邻元素。 你的任务是对于给出的序列,计算出可能获得的最大总分。

输入输出格式

输入格式


第一行一个整数 $N$,表示序列长度。 第二行 $N$ 个数,$V_1,V_2 \cdots V_N$,代表每个长度对应的分数。 第三行 $N$ 个数,$A_1,A_2 \cdots A_N$,代表初始序列的每个元素。

输出格式


一个数,可以获得的最大总分。

输入输出样例

输入样例 #1

6
-100 5 6 10 0 0
3 1 2 3 4 10

输出样例 #1

11

说明

### 数据范围及约定 - 对于 $10\%$ 的数据 $,N \le 3$; - 对于 $40\%$ 的数据 $,N \le 10$; - 对于 $70\%$ 的数据 $,N \le 70$; - 对于 $100\%$ 的数据 $,1 \le N \le 150$,$-10000 \le V_i \le 10000$,$0 \le A_i \le 1000000000$。相同的 $A_i$ 不会超过 $14$ 个。