#P15622. [ICPC 2022 Jakarta R] The Only Mode

[ICPC 2022 Jakarta R] The Only Mode

说明

给定一个大小为 NN 的整数数组 AA(下标从 11NN),其中 AiA_i 的取值是 00112233。数组 AA 的一个子数组 l,r\langle l, r \rangle 定义为 [Al,Al+1,,Ar][A_l, A_{l+1}, \cdots, A_r],其大小为 rl+1r - l + 1

对于一个子数组 l,r\langle l, r \rangle,当且仅当值 xx 在该子数组中出现的次数严格多于其他任何值时,称 xx 是该子数组的唯一众数

你在本题中的任务是,对于每个 x{0,1,2,3}x \in \{0, 1, 2, 3\},找出 AA 中满足 xx 是其唯一众数的最长子数组的大小;或者确定 xx 不可能成为任何子数组的唯一众数。

输入格式

输入以一个整数 NN1N1000001 \leq N \leq 100\,000)开始,表示数组 AA 的大小。接下来一行包含 NN 个整数 AiA_iAi{0,1,2,3}A_i \in \{0, 1, 2, 3\})。

输出格式

在一行中输出四个以空格分隔的整数。每个整数依次对应 xx00112233 时的答案。对于每个 xx,如果存在某个子数组使得 xx 是该子数组的唯一众数,则输出满足条件的最长子数组的大小;否则输出 00

7
1 2 2 0 3 0 3
4 1 5 3
12
2 0 1 0 2 1 1 0 2 3 3 3
4 9 1 9
2
0 2
1 0 1 0
12
3 0 2 2 1 0 2 1 3 3 2 3
1 5 11 8

提示

样例输入/输出 #1 的解释

  • 满足 00 是唯一众数的最长子数组是 3,6\langle 3, 6 \rangle,长度为 44,即 [2,0,3,0][2, 0, 3, 0]
  • 满足 11 是唯一众数的最长子数组是 1,1\langle 1, 1 \rangle,长度为 11,即 [1][1]
  • 满足 22 是唯一众数的最长子数组是 1,5\langle 1, 5 \rangle,长度为 55,即 [1,2,2,0,3][1, 2, 2, 0, 3]
  • 满足 33 是唯一众数的最长子数组是 5,7\langle 5, 7 \rangle,长度为 33,即 [3,0,3][3, 0, 3]

样例输入/输出 #2 的解释

  • 满足 00 是唯一众数的最长子数组是 1,4\langle 1, 4 \rangle2,5\langle 2, 5 \rangle
  • 满足 11 是唯一众数的最长子数组是 3,11\langle 3, 11 \rangle
  • 满足 22 是唯一众数的最长子数组是 1,1\langle 1, 1 \rangle5,5\langle 5, 5 \rangle9,9\langle 9, 9 \rangle
  • 满足 33 是唯一众数的最长子数组是 4,12\langle 4, 12 \rangle

样例输入/输出 #3 的解释

满足 0022 是唯一众数的最长子数组只包含单个元素本身;另一方面,不存在任何子数组使得 1133 是其唯一众数。

翻译由 DeepSeek 完成