爆炸

TimeLimit:2000MS  MemoryLimit:256MB
64-bit integer IO format:%I64d
未提交 | 登录后收藏
Problem Description

小薛 正在玩另一个电脑游戏。在这个游戏中,他的角色必须杀死锅姨。他可以与锅姨的战斗持续 100^500 秒,在此期间 小薛 用爆炸攻击龙。第 i 次攻击是在战斗开始后的第 a 秒开始时进行的。爆炸本身不会造成伤害,但会对锅姨施加燃烧效果,在接下来的每一 k 秒内造成 1 点伤害(从龙被匕首刺伤的同一秒开始)。但是,如果锅姨已经被燃烧,那么爆炸会更新燃烧效果(即取消当前的燃烧效果并应用新的)。

例如,假设 k=4,小薛在第 2、4 和 10 秒攻击锅姨。然后在第 2 秒开始时施加爆炸效果,并在第 2 秒和第 3 秒期间造成 1 点伤害/秒;然后,在第 4 秒开始时,燃烧效果被重新施加,因此它在第 4、5、6 和 7 秒期间正好造成 1 点伤害;然后,在第 10 秒内,再次施加燃烧效果,并在第 10、11、12 和 13 秒期间造成 1 点伤害。龙总共受到 10 点伤害。

小薛 知道锅姨有 h 点生命值,如果他在战斗中对锅姨造成至少 h 点伤害,他就会杀死锅姨。 小薛还没有决定他在战斗中将使用的爆炸的强度,所以他想找到足以对锅姨造成至少h伤害的k(燃烧效果持续的秒数)的最小可能值.


Input

第一行包含一个整数 t (1≤t≤1000)——测试用例的数量。

测试用例的第一行包含两个整数 n 和 h (1≤n≤100;1≤h≤10^18) — Monocarp 的攻击次数和需要造成的伤害量。

第二行包含 n 个整数 a1, a2, ..., an (1≤ai≤10^9;ai<ai+1),其中 ai 是执行第 i 次攻击时的时刻。


Output

对于每个测试用例,打印一个整数—— k 的最小值

SampleInput
4
2 5
1 5
3 10
2 4 10
5 3
1 2 4 5 7
4 1000
3 25 64 1337
SampleOutput
3
4
1
470
Note
在第一个示例中,对于 k=3,伤害以秒 [1,2,3,5,6,7] 为单位造成。 在第二个示例中,对于 k=4,伤害以秒为单位 [2,3,4,5,6,7,10,11,12,13]。 在第三个示例中,对于 k=1,伤害以秒 [1,2,4,5,7] 为单位造成
Submit
题目统计信息详细
总AC数23
通过人数21
尝试人数22
总提交量55
AC率38.18%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: