题目描述
给你一个数列 A1..n(Ai>0),对于 1..n 中的每个 K,你要把它分成 K 个非空的连续段。
对每段分别求和,得到 K 个数,请你最大化它们的最大公约数,并输出这个值。
输入格式
第一行一个数 n
第二行 n 个数 A1..n
输出格式
一行 n 个数,第 i 个数表示 K=i 时的答案
样例
样例输入 1
12
1 1 4 5 1 4 1 9 1 9 8 10
样例输出 1
54 27 9 6 3 2 2 2 1 1 1 1
样例 2
见下发文件
数据范围
子任务编号 | 分数 | n⩽ | ∑Ai⩽ |
---|---|---|---|
1 | 20 | 104 | 104 |
2 | 80 | 106 | 2×107 |