[GESP202509 四级] 最长连续段

Luogu
IDLGB4416
Time1000ms
Memory512MB
DifficultyP2
2025离散化排序GESP
对于 $k$ 个整数构成的数组 $[b_1, b_2, \ldots, b_k]$,如果对 $1 \leq i < k$ 都有 $b_{i+1} = b_i + 1$,那么称数组 $b$ 是一个连续段。 给定由 $n$ 个整数构成的数组 $[a_1, a_2, \ldots, a_n]$,你可以任意重排数组 $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。 ## Input 第一行,一个正整数 $n$,表示数组长度。 第二行,$n$ 个整数 $a_1, a_2, \ldots, a_n$,表示数组中的整数。 ## Output 一行,一个整数,表示数组 $a$ 重排顺序后,所有是连续段的子数组的最长长度。 [samples] ## Background 对应的选择、判断题:<https://ti.luogu.com.cn/problemset/1192> ## Note 对于 $40\%$ 的测试点,保证 $1 \leq n \leq 8$。 对于所有测试点,保证 $1 \leq n \leq 10^5$,$-10^9 \leq a_i \leq 10^9$。
Samples
Input #1
4
1 0 2 4
Output #1
3
Input #2
9
9 9 8 2 4 4 3 5 3
Output #2
4
API Response (JSON)
{
  "problem": {
    "name": "[GESP202509 四级] 最长连续段",
    "description": {
      "content": "对于 $k$ 个整数构成的数组 $[b_1, b_2, \\ldots, b_k]$,如果对 $1 \\leq i < k$ 都有 $b_{i+1} = b_i + 1$,那么称数组 $b$ 是一个连续段。 给定由 $n$ 个整数构成的数组 $[a_1, a_2, \\ldots, a_n]$,你可以任意重排数组 $a$ 中元素顺序。请问在重排顺序之后,$a$ 所有是连续段的子数组中,最长的子数组长度",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB4416"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "对于 $k$ 个整数构成的数组 $[b_1, b_2, \\ldots, b_k]$,如果对 $1 \\leq i < k$ 都有 $b_{i+1} = b_i + 1$,那么称数组 $b$ 是一个连续段。\n\n给定由 $n$ 个整数构成的数组 $[a_1, a_2, \\ldots, a_n]$,你可以任意重排数组 $a$ 中元素顺序。请问在重排顺序之后,$a$ 所有是连续段的子数组中,最长的子数组长度...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments