#CF4075. 爬楼梯
爬楼梯
题目描述
光头强有一个有 级台阶的楼梯。地面从 米开始,第一步高出地面 米,第 步比前一步高出 米。
光头强有 次询问,每次询问用整数 表示。对于每次询问 ,你必须输出光头强的腿长为 时,通过爬台阶可以达到的最大可能高度。光头强只能在腿长至少为 时爬第 级台阶。换言之,如果要爬第 级,必须有 。
注意,每个问题视为独立的。
输入格式
第一行包含单个整数 代表测试用例数。
每个测试用例的第一行包含两个整数 ,分别是阶梯数和询问数。
每个测试用例的第二行包含 个整数 代表台阶高度。
每个测试用例的第三行包含 个整数 代表每次询问的数字。
保证 的和不超过 , 的和不超过 。
输出格式
对于每个测试用例,输出一行包含 个整数,即每次询问的答案。
请注意,答案可能不适合 位整数类型,因此您应该在编程语言中至少使用 位整数类型。
测试样例
3
4 5
1 2 1 5
1 2 4 9 10
2 2
1 1
0 1
3 1
1000000000 1000000000 1000000000
1000000000
1 4 4 9 9
0 2
3000000000
样例说明
考虑第一个测试用例,如题目描述中所示。
- 如果光头强的腿长 米,那么他只能爬 号楼梯,所以他能达到的最高高度是 米。
- 如果光头强的腿长 或 ,那么他只能爬 和 级楼梯,所以他能达到的最高高度是 米。
- 如果光头强的腿长 或 米,那么他可以爬上整个楼梯,所以他能达到的最高点是 米。
在第二个测试案例的第一个问题中,光头强腿长为 0
,所以他甚至连一步都走不上去 :(