题号:NC275719
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
在一条水平线上存在着一个自爆机器人和一只怪物。自爆机器人初始坐标为

,怪物坐标为

。自爆机器人在启动后将向怪物以

坐标每秒的速度移动,并在遇到怪物的瞬间爆炸,造成大小等同于行动时间的伤害。
你是这款游戏的玩家,在机器人移动过程中你可以在给定的

个
不同整数坐标上任意建造或摧毁墙壁(
同一坐标可以重复建造、摧毁墙壁)。如果机器人在移动过程中撞到墙壁,其会向反方向移动。
当然,为了防止玩家无限制的增加爆炸伤害,游戏开发者还给自爆机器人设置了最大起爆时间

。一旦耗时达到

机器人会立刻自爆。机器人只有在与怪物位于同一坐标时引爆才会对其造成伤害,现在请你最大化自爆机器人对怪物造成的伤害。
输入描述:
第一行给出一个整数
,表示数据组数。对于每组测试数据:
第一行给出三个整数
)
,
)
,表示坐标数,可建造或摧毁墙壁的坐标数,以及最大起爆时间。
第二行给出

个不同整数,表示可建造、摧毁墙壁的坐标
)
。
保证所有测试数据中

输出描述:
每组测试数据输出一个整数,为可能对怪物造成的最大伤害。
示例3
输入
复制
2
4 1 3
2
23 4 43
13 17 9 2