时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
小苯有一个含有

颗珠子的“能量项链”,珠子排成一排,其中第

颗珠子的能量为

。
但是这个项链并不稳定,如果项链的珠子个数不少于

个,则它即将发生“崩坏”,即:除了第一颗珠子和最后一颗珠子以外的其余所有珠子都将销毁,最终只留下
第一颗和
最后一颗珠子。
小苯现在希望项链在“崩坏”后保留尽可能多的能量,为此他可以在崩坏前执行以下的操作:

去掉项链的第一颗珠子(也就意味着项链原本的第二颗珠子将会变成第一颗)。

去掉项链的最后一颗珠子(也就意味着项链原本的倒数第二颗珠子将会变成最后一颗)。
两种操作各自均需要花费

秒时间,而现在距离项链发生“崩坏”仅剩

秒,小苯想知道,他最多可以保留住多少能量,请你帮他算一算吧。
输入描述:
每个测试文件内都包含多组测试数据。
第一行一个正整数
,表示测试数据的组数。 接下来对于每组测试数据,输入包含两行。
第一行两个整数
,表示项链的珠子个数和距离项链“崩坏”的时间。
第二行
个正整数
,表示每颗珠子的能量。 (保证所有测试数据中
的总和不超过
。)
输出描述:
对于每组测试数据,输出一行一个整数表示小苯能保留的最大能量。