1537: Red

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:9 解决:9

题目描述

    商场正在进行一个游戏。游戏的规则是这样子的:一个铺在地上的长条,每个格子里面写着数字。顾客刚开始从起点出发,每次可以往前跳若干个格子,接着如果落脚的格子是正数,那么得到这么多钱,如果是负数,那么意味着你要付出这么多钱。每回合往前跳的步数有限制,并且你要在规定的步数之内跳到终点,否则将会遭受更大的惩罚。

    举个例子,如下图,假设我们要在5回合之内完成游戏,并且每回合我们往前跳的格子数为14。注意我们是正好在第一格之前的位置开始,所以如果第一回合我们跳一格,那么就到达了第一格格子。同时注意我们必须到达终点。当然不必正好到达,只要超过最后一格即可。

上图展示了两种不同的游戏策略。如果5回合,我们按照2,3,4,1,1的方式跳,那么就得到50+30+20+70=170元;当然,最优策略可以得到220元,像上面第二条线路一样。

 

 

输入

    输入数据的第一行包含一个正整数tt 20),代表测试数据的组数。

    对于每组测试数据,第一行包含三个整数NSTN是总的格子的数目,2 N 200,S是每回合你最多跳的格子的数目,2 S 10T是最大允许的回合数,N+1 ST并且T N+1。接下来一行或者多行,共n个数,代表每个格子上写的数,绝对值不超过10000

输出

    对于每组数据,输出一行一个整数,代表可能的最大获利。

    当然,数据保证你可以从头走到尾。

样例输入 复制

2
10 4 5
100 50 -20 60 30
-10 -30 -50 20 70
9 3 4
150 100 -200
-100 -300 -100
-200 100 150

样例输出 复制

220
-100