B. 划分(partition)

    Type: Default 1000ms 256MiB

划分(partition)

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

T2 划分(partition)

题目描述

小 C 有一个长度为 nn 的序列 AA,现在他想把序列 AA 划分成至少 22 段。

小 C 定义 li,ril_i,r_i 表示划分出的第 ii 个子段的左右端点,这个子段的子段和 bi=j=liriAjb_i=\sum\limits_{j=l_i}^{r_i}A_j

小 C 认为一个合法的划分需要满足 liril_i\le r_i,且对于 1j<k\forall 1\le j\lt k,有 lj+1=rj+1l_{j+1}=r_j+1,并且 l1=1,rk=nl_1=1,r_k=n。(假设划分出了 kk 段)

小 C 想要求一种划分方案使得 gcd(b1,b2,...,bk)\gcd(b_1,b_2,...,b_k) 最大,你能告诉他该最大值吗?

输入格式

输入的第一行包含一个整数 nn

接下来一行包含 nn 个整数,第 ii 个整数表示 AiA_i

输出格式

输出共一行,包含一个整数,表示 gcd(b1,b2,...,bk)\gcd(b_1,b_2,...,b_k) 的最大值。

样例 1 输入

5
1 2 3 1 2

样例 1 输出

3

样例 2 输入

6
7 7 7 7 7 7

样例 2 输出

21

其余样例见下发文件。

数据规模与约定

  • 对于 30%30\% 的数据,保证 n20n \le 20
  • 对于另 30%30\% 的数据,保证 n100n \le 1001Ai31\le A_i\le 3
  • 对于另 20%20\% 的数据,保证 Ai=1A_i=12n2|n
  • 对于 100%100\% 的数据,保证 1n1051 \le n \le 10^{5}1Ai1091\le A_i\le 10^9

10月30日考前练习赛

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2025-10-30 15:00
End at
2025-10-31 0:00
Duration
9 hour(s)
Host
Partic.
9