Problem5686--跳跳棋盘

5686: 跳跳棋盘

Time Limit: 1.000 Sec  Memory Limit: 256 MB
Submit: 17  Solved: 11
[Submit] [Status] [Web Board] [Creator:]

Description

有一个特殊的跳跳棋盘,棋盘是一条直线。直线上分布着N个格子,你现在在第1格,想要到达第N格。每个格子上有对应的分数。

你手上有M张卡片,卡片上写有一个数字,数字的范围是1~4,即最多会有4种卡片。若你使用一张卡片,你可以从当前位置往前跳一段距离,距离就是卡片是的数字。每张卡片只能使用一次。当你到达某个格子时,可以获得格子上的分数。

现在你想要合理使用M张卡片,令自己能够获得最大的分数。


Input

第一行输入两个整数N和M,表示棋盘的格子数量和卡片数量。

第二行输入N个非负整数,a[i]表示第i个格子的分数。

第三行输入M个整数,b[i]表示第i张卡片上的数字。

输入保证到达第N格时刚好能够用光M张卡片


Output

输出一行一个整数表示最大能够获得的分数

Sample Input

9 5
6 10 14 2 8 8 18 5 17
1 3 1 2 1

Sample Output

73

HINT

【数据范围】

1<=N<=350,1<=M<=120

0<=a[i]<=100,1<=b[i]<=4

每种卡片的数量不会超过50张。

Source/Category

 

[Submit] [Status]