CF1138A.Sushi for Two

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Sushi for Two

题目描述

Arkady 邀请 Anna 去寿司餐厅共进晚餐。这家餐厅有些特别:它提供 nn 块寿司,这些寿司排成一排,顾客必须选择一个连续的子段来购买。

寿司有两种类型:金枪鱼寿司和鳗鱼寿司。我们用 tit_i 表示从左到右第 ii 块寿司的类型,其中 ti=1t_i = 1 表示金枪鱼寿司,ti=2t_i = 2 表示鳗鱼寿司。

Arkady 不喜欢金枪鱼,Anna 不喜欢鳗鱼。Arkady 想选择一个连续的寿司子段,使得该子段中两种寿司的数量相等,并且子段的前一半和后一半分别只包含一种寿司。例如,子段 [2,2,2,1,1,1][2, 2, 2, 1, 1, 1] 是合法的,但子段 [1,2,1,2,1,2][1, 2, 1, 2, 1, 2] 不是合法的,因为它的每一半都包含了两种寿司。

请你求出 Arkady 能够选择的最长合法连续子段的长度。

输入格式

第一行包含一个整数 nn2n1000002 \le n \le 100\,000),表示寿司的数量。

第二行包含 nn 个整数 t1,t2,,tnt_1, t_2, \ldots, t_nti=1t_i = 1 表示金枪鱼寿司,ti=2t_i = 2 表示鳗鱼寿司),表示从左到右每块寿司的类型。

保证至少有一块金枪鱼寿司和一块鳗鱼寿司。这意味着至少存在一个合法的连续子段。

输出格式

输出一个整数,表示最长合法连续子段的长度。

说明/提示

在第一个样例中,Arkady 可以选择子段 [2,2,1,1][2, 2, 1, 1][1,1,2,2][1, 1, 2, 2],长度为 44

在第二个样例中,只能选择子段 [2,1][2, 1][1,2][1, 2],长度为 22

在第三个样例中,Arkady 最好的选择是子段 [1,1,1,2,2,2][1, 1, 1, 2, 2, 2]

由 ChatGPT 4.1 翻译

样例

7
2 2 2 1 1 2 2
4
6
1 2 1 2 1 2
2
9
2 2 1 1 1 2 2 2 2
6

在线编程 IDE

建议全屏模式获得最佳体验