#CF4098. 传送机(困难版)
传送机(困难版)
题目描述
考虑数字线上的点 。在点 中的每个点上都有一个隐形传态器。在点 ,可以执行以下操作:
- 向左移动一个单位:它需要 个硬币。
- 向右移动一个单位:它需要 个硬币。
- 在 点使用传送机:它需要 硬币,然后你传送到
0
点或者n+1
点。每个传送机都只能使用一次。
你有 个硬币,从 0
点开始。你能使用的传送机最多有多少?
输入格式
输入由多个测试用例组成。第一行包含整数 代表测试用例数。测试用例的描述如下。
每个测试用例的第一行包含两个整数 ,分别是数组的长度和硬币的数量。
以下行包含 个空间分隔的整数 代表使用传送机的成本。
保证所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出您可以使用的最大传送数。
测试样例
10
5 6
1 1 1 1 1
8 32
100 52 13 6 9 4 100 35
1 1
5
4 5
4 3 2 1
5 9
2 3 1 4 1
5 8
2 3 1 4 1
4 3
2 3 4 1
4 9
5 4 3 3
2 14
7 5
5 600000000
500000000 400000000 300000000 200000000 100000000
2
3
0
1
3
2
1
1
2
2
样例说明
在第一个测试案例中,你可以向右移动 个单位,使用索引 1
处的传送机并传送到 0
点,向右移动 个单位并使用索引 2
处的传送器。你只剩下 个硬币,你没有足够的硬币来使用另一个传送机,所以答案是 个。
在第二个测试案例中,你向右移动 个单位,使用传送机到达 n+1
,然后向左移动 个单位,使用传送机达到 n+1
,最后向左移动 个单位,使用传送机。总成本将是 ,你使用了 次传送。
在第三个测试案例中,你没有足够的硬币来使用任何传送机,所以答案是 。