309023: CF1613C. Poisoned Dagger

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Poisoned Dagger

题意翻译

Monocarp 要斩杀一头巨龙,巨龙的血量为 $h$。Monocarp 可以发动 $n$ 次攻击,每次攻击发动于时间 $a_i$,持续时间 $k$ 秒,每持续 $1$ 秒就会让巨龙的血量 $-1$。如果两个攻击的间隔小于 $k$,后一个攻击发动时会停止前一个攻击的效果。 Monocarp 想知道斩杀这头巨龙的 $k$ 的最小值是多少。

题目描述

Monocarp is playing yet another computer game. In this game, his character has to kill a dragon. The battle with the dragon lasts $ 100^{500} $ seconds, during which Monocarp attacks the dragon with a poisoned dagger. The $ i $ -th attack is performed at the beginning of the $ a_i $ -th second from the battle start. The dagger itself does not deal damage, but it applies a poison effect on the dragon, which deals $ 1 $ damage during each of the next $ k $ seconds (starting with the same second when the dragon was stabbed by the dagger). However, if the dragon has already been poisoned, then the dagger updates the poison effect (i.e. cancels the current poison effect and applies a new one). For example, suppose $ k = 4 $ , and Monocarp stabs the dragon during the seconds $ 2 $ , $ 4 $ and $ 10 $ . Then the poison effect is applied at the start of the $ 2 $ -nd second and deals $ 1 $ damage during the $ 2 $ -nd and $ 3 $ -rd seconds; then, at the beginning of the $ 4 $ -th second, the poison effect is reapplied, so it deals exactly $ 1 $ damage during the seconds $ 4 $ , $ 5 $ , $ 6 $ and $ 7 $ ; then, during the $ 10 $ -th second, the poison effect is applied again, and it deals $ 1 $ damage during the seconds $ 10 $ , $ 11 $ , $ 12 $ and $ 13 $ . In total, the dragon receives $ 10 $ damage. Monocarp knows that the dragon has $ h $ hit points, and if he deals at least $ h $ damage to the dragon during the battle — he slays the dragon. Monocarp has not decided on the strength of the poison he will use during the battle, so he wants to find the minimum possible value of $ k $ (the number of seconds the poison effect lasts) that is enough to deal at least $ h $ damage to the dragon.

输入输出格式

输入格式


The first line contains a single integer $ t $ ( $ 1 \le t \le 1000 $ ) — the number of test cases. The first line of the test case contains two integers $ n $ and $ h $ ( $ 1 \le n \le 100; 1 \le h \le 10^{18} $ ) — the number of Monocarp's attacks and the amount of damage that needs to be dealt. The second line contains $ n $ integers $ a_1 $ , $ a_2 $ , ..., $ a_n $ ( $ 1 \le a_i \le 10^9; a_i < a_{i + 1} $ ), where $ a_i $ is the second when the $ i $ -th attack is performed.

输出格式


For each test case, print a single integer — the minimum value of the parameter $ k $ , such that Monocarp will cause at least $ h $ damage to the dragon.

输入输出样例

输入样例 #1

4
2 5
1 5
3 10
2 4 10
5 3
1 2 4 5 7
4 1000
3 25 64 1337

输出样例 #1

3
4
1
470

说明

In the first example, for $ k=3 $ , damage is dealt in seconds $ [1, 2, 3, 5, 6, 7] $ . In the second example, for $ k=4 $ , damage is dealt in seconds $ [2, 3, 4, 5, 6, 7, 10, 11, 12, 13] $ . In the third example, for $ k=1 $ , damage is dealt in seconds $ [1, 2, 4, 5, 7] $ .

Input

题意翻译

Monocarp 要斩杀一头巨龙,巨龙的血量为 $h$。Monocarp 可以发动 $n$ 次攻击,每次攻击发动于时间 $a_i$,持续时间 $k$ 秒,每持续 $1$ 秒就会让巨龙的血量 $-1$。如果两个攻击的间隔小于 $k$,后一个攻击发动时会停止前一个攻击的效果。 Monocarp 想知道斩杀这头巨龙的 $k$ 的最小值是多少。

加入题单

算法标签: