#P16318. [ICPC 2023 Jinan R] 彩虹子数组

[ICPC 2023 Jinan R] 彩虹子数组

题目描述

《彩虹数列》是一款紧张刺激的运气类与拍卖类桌游。玩家可以赌运气抽取更多卡牌,也可以用货币购买其它卡牌,目的是用每种颜色的卡牌构成尽量长的数字序列。接下来我们考虑一道和游戏相关的问题。

:::align{center}

Instagram 用户 @freethemeeple 拍摄的照片 :::

给定长度为 nn 的序列 a1,a2,,ana_1, a_2, \cdots, a_n,称它的连续子数组 al,al+1,al+2,,ara_l, a_{l + 1}, a_{l + 2}, \cdots, a_r 为彩虹子数组,若对于所有 li<rl \le i < r 都满足 ai+1ai=1a_{i + 1} - a_i = 1。特别地,长度为 11 的子数组总是彩虹子数组。

您可以执行至多 kk 次操作。每次操作您可以将序列中的一个元素增加或减少一。求完成操作后,最长彩虹子数组的长度最大是多少。

输入格式

有多组测试数据。第一行输入一个整数 TT 表示测试数据组数,对于每组测试数据:

第一行输入两个整数 nnkk1n5×1051 \le n \le 5 \times 10^50k10150 \le k \le 10^{15})表示序列的长度以及您最多能执行几次操作。

第二行输入 nn 个整数 a1,a2,,ana_1, a_2, \cdots, a_n1ai1091 \le a_i \le 10^9)表示序列。

保证所有数据 nn 之和不超过 5×1055 \times 10^5

输出格式

每组数据输出一行一个整数,表示至多执行 kk 次操作后,最长彩虹子数组的长度最大是多少。

5
7 5
7 2 5 5 4 11 7
6 0
100 3 4 5 99 100
5 6
1 1 1 1 1
5 50
100 200 300 400 500
1 100
3
4
3
5
1
1

提示

对于第一组样例数据,我们可以执行 44 次操作,并将序列变为 {7,3,4,5,6,11,7}\{7, 3, 4, 5, 6, 11, 7\}。最长彩虹子数组是 {3,4,5,6}\{3, 4, 5, 6\},所以答案是 44

对于第二组样例数据,我们不能执行任何操作。最长彩虹子数组是 {3,4,5}\{3, 4, 5\},所以答案是 33

对于第三组样例数据,我们可以执行 66 次操作,并将序列变为 {1,0,1,2,3}\{-1, 0, 1, 2, 3\}。整个序列都是彩虹子数组,所以答案是 55