首页 > 试题广场 >

Idol Master

[编程题]Idol Master
  • 热度指数:3 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
辣鸡游戏,毁我青春,费我钱财,颓我精神。
何老师沉迷偶像大师无法自拔,现在他拥有n张偶像卡,每张卡有一个能力值,为了准备下一场对战,需要从拥有的偶像卡中选出一些使得它们的能力值之和最大,并且在任意连续的k张卡中,至少要选出a张卡,但不能选超过b张卡。

P站id: 48466332
(该图引自萌娘百科)

输入描述:
第一行是一个正整数T(≤ 1000),表示测试数据的组数, 对于每组测试数据, 第一行是四个整数n(1 ≤ n ≤ 300), k(1 ≤ k ≤ n), a, b(0 ≤ a ≤ b  ≤ k), 第二行包含n个以空格分隔的整数c_1,c_2,...,c_n,表示偶像卡的能力值,绝对值不超过1000000000, 保证满足n>30的数据不超过50组。


输出描述:
对于每组测试数据,输出一个整数,表示选出的偶像卡的能力值之和的最大值,无解输出"baka"(不含引号)。
示例1

输入

2
2 2 0 2
1 -2
2 2 2 2
1 -2

输出

1
-1

说明

对于样例第一组数据,选出第一张卡即可,
对于样例第二组数据,两张卡都要选出来。