#1724. 四级(2509):最长连续段

四级(2509):最长连续段

背景

GESP四级真题(202509)

描述

对于 kk 个整数构成的数组 [b1,b2,...,bk][b_1, b_2, ..., b_k],如果对 1i<k1 \le i < k 都有 bi+1=bi+1b_{i+1} = b_i + 1,那么称数组 bb 是一个连续段。

给定由 nn 个整数构成的数组 [a1,a2,...,an][a_1, a_2, ..., a_n],你可以任意重排数组 aa 中元素顺序。请问在重排顺序之后,aa 所有是连续段的子数组中,最长的子数组长度是多少?

例如,对于数组 [1,0,2,4][1,0,2,4],可以将其重排为 [4,0,1,2][4,0,1,2],有以下 10 个子数组:

$$[4], [0],[1],[2],[4,0], [0,1], [1,2],[4,0,1],[0,1,2],[4,0,1,2] $$

其中除 [4,0],[4,0,1],[4,0,1,2][4,0], [4,0,1], [4,0,1,2]以外的子数组均是连续段,因此是连续段的子数组中,最长子数组长度为 3 。

格式

输入

第一行,一个正整数 nn ,表示数组长度。 第二行, nn 个整数 a1,a2,...,ana_1, a_2, ..., a_n,表示数组中的整数。

输出

一行,一个整数,表示数组 a 重排顺序后,所有是连续段的子数组的最长长度。

样例

4
1 0 2 4
3
9
9 9 8 2 4 4 3 5 3
4

数据规模

对于 40% 的测试点,保证 1n81 \le n \le 8。 对于所有测试点,保证 1n105,109ai1091 \le n \le 10^5, -10^9 \le a_i \le 10^9

限制

时间限制:1.0 s

空间限制:512.0 MB