[ICPC 2023 Jinan R] 彩虹子数组

[ICPC 2023 Jinan R] 彩虹子数组

暂无测试数据。

题目描述

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

:::align{center}

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

给定长度为 \(n\) 的序列 \(a_1, a_2, \cdots, a_n\),称它的连续子数组 \(a_l, a_{l + 1}, a_{l + 2}, \cdots, a_r\) 为彩虹子数组,若对于所有 \(l \le i < r\) 都满足 \(a_{i + 1} - a_i = 1\)。特别地,长度为 \(1\) 的子数组总是彩虹子数组。

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

输入格式

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

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

第二行输入 \(n\) 个整数 \(a_1, a_2, \cdots, a_n\)(\(1 \le a_i \le 10^9\))表示序列。

保证所有数据 \(n\) 之和不超过 \(5 \times 10^5\)。

输出格式

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

输入输出样例 #1

输入 #1

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

输出 #1

4
3
5
1
1

说明/提示

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

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

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

信息

ID
1013
难度
7
分类
数论 点击显示
标签
递交数
0
已通过
0
通过率
?
上传者