题目描述
Byteasar 决定制造一条项链,她买了一串珠子,她有一个机器,能把这条珠子切成很多段,使得每段恰有
k
k 个珠子
(k>0)
(k>0) ,如果这条珠子的长度不是
k
k 的倍数,最后一块长度小于
k
k 的段就被丢弃了。
Byteasar 想知道,选择什么数字
k
k 可以得到最多的不同的段。注意这里的段是可以反转的,即,子串
1,2,3
1,2,3 和
3,2,1
3,2,1 被认为是一样的。
输入
第一行一个正整数
n
n ,表示珠子的长度。
第二行
n
n 个空格隔开的正整数
a_1,a_2,\cdots a_n
a1
,a2
,⋯an
,描述这一串珠子的颜色。
输出
第一行两个空格隔开的正整数,第一个表示能获得的最大不同的段的个数,第二个表示能获得最大值的
k
k 的个数。
第二行若干空格隔开的正整数
k
k ,表示所有能够取得最大值的
k
k ,请将
k
k按照从小到大的顺序输出。
样例输入
21
1 1 1 2 2 2 3 3 3 1 2 3 3 1 2 2 1 3 3 2 1
样例输出
6 1
2
提示
对于
100\%
100% 的数据,
1\le n\le 2\times 10^5
1≤n≤2×105 ,且
\forall 1\le i\le n
∀1≤i≤n ,有
1\le a_i\le n
1≤ai
≤n 。
Translated By diamond_duke
来源/分类