#NCST202512I. 选拔赛

选拔赛

题目描述

l10k 是acm集训队的队长。他的队伍里共有 nn 名队员。所有算法都按难度从易到难编号为 1m1 \sim m。也就是说,算法 11 最简单,算法 mm 最困难。第 ii 名队员掌握的是难度排名为 aia_i 的算法。

现在,l10k 想要从队伍中选拔出一段 连续 的队员组成参赛阵容。具体来说,阵容必须是某个区间 [l,r][l, r]1lrn1 \le l \le r \le n)内的所有队员。

他对队伍的评分规则如下:

  • 阵容掌握的 不同算法数量 越多越好;
  • 但是如果队伍中存在某个算法没人掌握,并且它的难度比较低,那么队员们会因此感到沮丧。

因此,队伍的评分定义为:

区间内队员掌握的不同算法数量减去没有任何队员掌握的最简单算法编号

如果区间内掌握了全部算法,那么认为最简单未被掌握的算法编号为 m+1m+1

例如:
m=5m = 5,某个区间内有 6 名队员,分别掌握算法
[2,5,4,4,1,1][2, 5, 4, 4, 1, 1]
则该区间覆盖了 {1,2,4,5}\{1,2,4,5\} 四种算法,遗漏的最简单算法是 33,所以评分为

43=1.4 - 3 = 1.

请你帮助 l10k 找出一个评分最大的连续队员区间。

输入格式

第一行输入整数 tt1t5×1051 \le t \le 5 \times 10^5),表示测试数据组数。

每组测试数据包含两行:

  • 第一行两个整数 n,mn, m1n,m5×1051 \le n,m \le 5 \times 10^5

  • 第二行 nn 个整数 aia_i1aim1 \le a_i \le m

保证所有测试数据中 n5×105\sum n \le 5 \times 10^5。注意:m 没有总和限制

输出格式

对于每组测试数据,输出一个整数,表示能获得的最大评分。

输入输出样例

2
5 4
1 2 2 3 4
5 10000
5 2 3 4 1
2
3

提示

Subtask 分值 n 上限 m 上限
1 10 20
2 200 1e9
3 15 2000
4 2e5 1e6
5 3e5 5e5
6 20 5e5(总)
7 15 5e5 1e9