第23593题
最长连续段

题目描述

对于k个整数构成的数组 [b<sub>1</sub>, b<sub>2</sub>,..., b<sub>k</sub>] ,如果对1≤i<k 都有b<sub>i+1</sub>=b<sub>i</sub>+1 ,那么称数组b 是一个连续段。

给定由n个整数构成的数组 [a<sub>1</sub>,a<sub>2</sub>,...,a<sub>n</sub>],你可以任意重排数组a中元素顺序。请问在重排顺序之后,a 所有是连续段的子数组中,最长的子数组长度是多少?

例如,对于数组[1, 0 , 2 , 4] ,可以将其重排为[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] 以外的子数组均是连续段,因此是连续段的子数组中,最长子数组长度为3 。

输入格式

第一行,一个正整数n ,表示数组长度。
第二行,n个整数 a<sub>1</sub>, a<sub>2</sub>, ..., a<sub>n</sub>,表示数组中的整数。

输出格式

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

样例输入 1

4
1 0 2 4

样例输出 1

3

样例输入 2

9
9 9 8 2 4 4 3 5 3

样例输出 2

4

数据范围

  • 对于40% 的测试点,保证1≤n≤8。
  • 对于所有测试点,保证1≤n≤10<sup>5</sup>, -10<sup>9</sup>≤a<sub>i</sub>≤10<sup>9</sup>
提交0次 正确率0.00%
答案解析