题目描述
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
来源/分类