#689. 最长连续段

最长连续段

题目描述

对于 kk 个整数构成的数组 [b1,b2,,bk][b_1,b_2,\dots,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,\dots,a_n],你可以任意重排数组 aa 中元素的顺序。请问在重排顺序之后,aa 中所有是连续段的子数组中,最长的子数组长度是多少?

例如,对于数组 [1,0,2,4][1,0,2,4],可以将其重排为 [4,0,1,2][4,0,1,2],此时所有子数组共有 1010 个:

$$[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] 之外的子数组均为连续段,因此最长的连续段子数组长度为 33

输入格式

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

输出格式

一行,一个整数,表示对数组 aa 进行任意重排后,所有为连续段的子数组中最长的长度。

输入样例 1

4
1 0 2 4

输出样例 1

3

输入样例 2

9
9 9 8 2 4 4 3 5 3

输出样例 2

4

说明

数据范围

  • 对于 40%40\% 的测试点,保证 1n81\le n\le 8
  • 对于所有测试点,保证 1n1051\le n\le 10^5,且 109ai109-10^9\le a_i\le 10^9