CF1791G2.Teleporters (Hard Version)

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

The only difference between the easy and hard versions are the locations you can teleport to.

Consider the points 0,1,,n+10,1,\dots,n+1 on the number line. There is a teleporter located on each of the points 1,2,,n1,2,\dots,n . At point ii , you can do the following:

  • Move left one unit: it costs 11 coin.
  • Move right one unit: it costs 11 coin.
  • Use a teleporter at point ii , if it exists: it costs aia_i coins. As a result, you can choose whether to teleport to point 00 or point n+1n+1 . Once you use a teleporter, you can't use it again.

You have cc coins, and you start at point 00 . What's the most number of teleporters you can use?

输入格式

The input consists of multiple test cases. The first line contains an integer tt ( 1t10001 \leq t \leq 1000 ) — the number of test cases. The descriptions of the test cases follow.

The first line of each test case contains two integers nn and cc ( 1n21051 \leq n \leq 2\cdot10^5 ; 1c1091 \leq c \leq 10^9 ) — the length of the array and the number of coins you have respectively.

The following line contains nn space-separated positive integers a1,a2,,ana_1,a_2,\dots,a_n ( 1ai1091 \leq a_i \leq 10^9 ) — the costs to use the teleporters.

It is guaranteed that the sum of nn over all test cases does not exceed 21052\cdot10^5 .

输出格式

For each test case, output the maximum number of teleporters you can use.

输入输出样例

  • 输入#1

    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

    输出#1

    2
    3
    0
    1
    3
    2
    1
    1
    2
    2

说明/提示

In the first test case, you can move one unit to the right, use the teleporter at index 11 and teleport to point n+1n+1 , move one unit to the left and use the teleporter at index 55 . You are left with 61111=26-1-1-1-1 = 2 coins, and wherever you teleport, you won't have enough coins to use another teleporter. You have used two teleporters, so the answer is two.

In the second test case, you go four units to the right and use the teleporter to go to n+1n+1 , then go three units left and use the teleporter at index 66 to go to n+1n+1 , and finally, you go left four times and use the teleporter. The total cost will be 4+6+3+4+4+9=304+6+3+4+4+9 = 30 , and you used three teleporters.

In the third test case, you don't have enough coins to use any teleporter, so the answer is zero.

首页