#1906. 恶魔幸存者2

恶魔幸存者2

题目描述

在久世响希和峰津院大和的共同努力下,终于消灭了7\red{7}Septentrion,\red{Septentrion,}拯救了世界。但在此之后峰津院就开始企图支配世界。响希为了不让峰津院的阴谋得逞,独自去他的城堡挑战他。但是峰津院 知道响希的强大,于是在路上设置了连续的n\red{n}个防御区域(编号从1n\red{1 \sim n}),每个防御区有一个攻击值ai\red{a_i}。由于朱雀受重伤不能用,响希现在只有一只恶魔——神兽白虎。白虎有 一个攻击值k\red{k,}和最大跳跃值L\red{L}(假设响希当前在x\red{x}区域,那么他可以骑着白虎跳到x+1\red{x+1}x+L\red{x+L}中的任意一个区域)当响希跳到一个区域x\red{x,}它只有破坏了这个区域才 能继续前进,如果此区域的攻击值ax>k\red{a_x>k,}那么响希就要减少axk\red{a_x-k}滴血才能破坏着个防御区,否则响希可以直接破坏它。现在响希的初始血量为b\red{b,}从第0\red{0}个位置开始进军,峰津院 的城堡在n+1\red{n+1}号区域。问响希能否到达城堡,如果能,输出他所能剩下的最大血量,否则输出1\red{-1}

输入格式

多组测试数据

第一个整数T\red{T,}表示测试数据组数。

每组数据第一行三个整数 b\red{b,}L\red{L,}k\red{k}

第二行一个整数 n\red{n}

第三行n\red{n}个整数,表示n\red{n}个区域的攻击值

相邻两组数据有空行

输出格式

T\red{T}

每行一个整数。如果响希能到达城堡就输出他所剩下的最大血量,否则输出1\red{-1}

样例

输入样例

2
3 1 2
5
3 3 3 2 2

5 3 4
10
6 8 1 5 10 2 3 5 6 9

输出样例

-1
4

提示

对于20%\red{20\%}的数据,1<=n<=10,T<=5,1<=L<=3\red{1<=n<=10,T<=5,1<=L<=3}

对于100%\red{100\%}的数据,1<=n<=3000,T<=10,1<=L<=300,1<=b\red{1<=n<=3000,T<=10,1<=L<=300,1<=b,}ai<=5000\red{a_i<=5000,} 1<=k<=200\red{1<=k<=200}