#CF1389B. 数组行走
数组行走
B. 数组行走
每个测试的时间限制: 秒
内存限制: 兆字节
给定一个由 个正整数组成的数组 。
初始时你站在下标 处,分数等于 。你可以执行两种移动:
- 向右移动:从当前下标 移动到 ,并将 加到你的分数上。仅当 时可执行。
- 向左移动:从当前下标 移动到 ,并将 加到你的分数上。仅当 时可执行。
注意:你不能连续执行两次或更多次向左移动。
你想恰好执行 次移动,并且其中向左移动的次数不超过 。
请问你能获得的最大分数是多少?
输入
第一行包含一个整数 ()—— 测试用例的数量。
每个测试用例的第一行包含三个整数 (,,)—— 数组元素个数、总移动次数、允许的最大向左移动次数。
每个测试用例的第二行包含 个整数 ()—— 给定的数组。
所有测试用例的 之和不超过 。
输出
输出 个整数 —— 对于每个测试用例,输出在恰好执行 次移动、向左移动次数不超过 且没有连续两次向左移动的条件下,能获得的最大分数。
示例
输入
4
5 4 0
1 5 4 3 2
5 4 1
1 5 4 3 2
5 4 4
10 20 30 40 50
10 7 3
4 6 8 2 9 9 7 4 10 9
输出
15
19
150
56
说明
- 第一个测试用例:不允许向左移动,因此执行 次向右移动,得分为 。
- 第二个测试用例:可以向左移动一次。可以按照 右、右、左、右 的顺序移动,得分为 。
- 第三个测试用例:最多允许向左移动 次,但最优方案仍是 次向右移动,得分为 。