#9358. 小笼包(洛谷 - P2808)

小笼包(洛谷 - P2808)

说明

JOI 同学点的小笼包套餐,由馅料不同的 N 个小笼包组成。N 个小笼包等间隔排成一列,编号为 1N。第 i 个小笼包与第 j 个小笼包之间的距离是绝对值 ij。 JOI 同学按照顺序吃小笼包。最初,所有的小笼包的美味度都是 0。吃第 i 个小笼包时,汤汁向周围飞散,与第 i 个小笼包距离 Di 以下的小笼包都淋上了汤汁,而被淋上汤汁的小笼包的美味度会增加 Ai。也就是说,吃第 i 个小笼包的时候,第 j 个小笼包 (1jN 并且 iDiji+Di) 还没有吃到的话,第 j 个小笼包的美味度就增加 Ai

JOI 同学要在吃小笼包的顺序上下功夫,让吃的小笼包的美味度的合计最大化。

输入格式

输入共 3 行。

1 行是 1 个整数 N

2 行是 N 个整数 D1,D2,...,DN(0Di7),以空格分隔。

3 行是 N 个整数 A1,A2,...,AN(0Ai1000),以空格分隔。

输出格式

1 行,输出 JOI 同学吃的小笼包的美味度的合计最大值。

5
1 0 1 1 2
0 2 6 3 4
20

提示

样例 1 的说明:以第 53124 的顺序吃的话,美味度合计为 20,因为美味度超过 20 的吃法是不存在的,所以这是最好的。

本题是 2014 年日本信息学奥林匹克(JOI)预选第 6 题。


原题链接

Source

动态规划,dp 2014