区间选取
- 时间限制:$1.0$ 秒
- 空间限制:$512\text{ MB}$
题目描述
有一个长度为 $n$ 的序列 $a$。
若 $a$ 序列中有 $x$ 这个值,则 $f(x) = 1$,否则 $f(x) = 0$。
对于这个序列中的每一个元素,你都可以将其加上 $1$ 或不变,你需要将序列进行操作使得满足 $\displaystyle\sum_{i=l}^{r} f(i) = r - l + 1$ 的区间 $[l,r]$ 的长度最大值最大,求出这个最大值。
输入格式
本题多测,第一行输入两个正整数 $c,t$ 分别表示 Subtask 编号和测试数据组数,特别的,样例 $c = 0$。
对于每组测试数据:
- 第一行输入一个正整数 $n$。
- 第二行输入 $n$ 个正整数表示 $a$ 序列。
输出格式
对于每组测试数据:
- 输出一行一个正整数表示你的答案。
样例 1 输入
0 3 9 1 1 3 4 6 6 6 8 10 6 1 2 3 4 5 6 5 10 10 10 10 10
样例 1 输出
5 6 2
样例 1 解释
对于第一组测试数据,将 $a$ 序列变为 $1,2,4,5,6,6,7,8,10$,此时满足条件且 $r-l+1$ 最大的 $l,r$ 为 $4,8$,可以证明这是最优的方案。
对于第二组测试数据,我们可以不改变 $a$ 序列,此时满足条件且 $r-l+1$ 最大的 $l,r$ 为 $1,6$,可以证明这是最优的方案。
对于第三组测试数据,将 $a$ 序列变为 $10,10,10,11,11$,此时满足条件且 $r-l+1$ 最大的 $l,r$ 为 $10,11$,可以证明这是最优的方案。
数据规模与约定
对于所有数据,保证:
- $1 \le t \le 10^5$;
- $1 \le a_i,n \le 10^6$;
- $\sum n \le 2 \times 10^6$。
本题采用捆绑测试,各子任务特殊性质如下:
| Subtask | $\sum n \le$ | 特殊性质 | 分值 |
|---|---|---|---|
| $1$ | $10^4$ | $n \le 10$ | $10$ |
| $2$ | $10^4$ | $n \le 100$ | $15$ |
| $3$ | $10^4$ | $n \le 500$ | $15$ |
| $4$ | $10^4$ | $n \le 1000$ | $15$ |
| $5$ | $5 \times 10^5$ | $a_i \le 100$ | $15$ |
| $6$ | $5 \times 10^5$ | 无 | $15$ |
| $7$ | $2 \times 10^6$ | 无 | $15$ |