#P16318. [ICPC 2023 Jinan R] 彩虹子数组
[ICPC 2023 Jinan R] 彩虹子数组
题目描述
《彩虹数列》是一款紧张刺激的运气类与拍卖类桌游。玩家可以赌运气抽取更多卡牌,也可以用货币购买其它卡牌,目的是用每种颜色的卡牌构成尽量长的数字序列。接下来我们考虑一道和游戏相关的问题。
:::align{center}

Instagram 用户 @freethemeeple 拍摄的照片 :::
给定长度为 的序列 ,称它的连续子数组 为彩虹子数组,若对于所有 都满足 。特别地,长度为 的子数组总是彩虹子数组。
您可以执行至多 次操作。每次操作您可以将序列中的一个元素增加或减少一。求完成操作后,最长彩虹子数组的长度最大是多少。
输入格式
有多组测试数据。第一行输入一个整数 表示测试数据组数,对于每组测试数据:
第一行输入两个整数 和 (,)表示序列的长度以及您最多能执行几次操作。
第二行输入 个整数 ()表示序列。
保证所有数据 之和不超过 。
输出格式
每组数据输出一行一个整数,表示至多执行 次操作后,最长彩虹子数组的长度最大是多少。
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
提示
对于第一组样例数据,我们可以执行 次操作,并将序列变为 。最长彩虹子数组是 ,所以答案是 。
对于第二组样例数据,我们不能执行任何操作。最长彩虹子数组是 ,所以答案是 。
对于第三组样例数据,我们可以执行 次操作,并将序列变为 。整个序列都是彩虹子数组,所以答案是 。