传统题 1000ms 256MiB

划分

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

小 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 认为一个合法的划分需要满足 li≤ril_i\le r_i,且对于 ∀1≤j<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

大样例

见选手目录下的 partition/partition.zip

数据规模与约定

  • 对于 30%30\% 的数据,保证 n≤20n \le 20。
  • 对于另 30%30\% 的数据,保证 n≤100n \le 100,1≤Ai≤31\le A_i\le 3。
  • 对于另 20%20\% 的数据,保证 Ai=1A_i=1 且 2∣n2|n。
  • 对于 100%100\% 的数据,保证 1≤n≤1051 \le n \le 10^{5},1≤Ai≤1091\le A_i\le 10^9。

一些偏思维的题

未认领
状态
已结束
题目
8
开始时间
2026-6-17 0:00
截止时间
2026-6-25 23:59
可延期
24 小时