#4321. 中国餐馆(Chinese Restaurant )

中国餐馆(Chinese Restaurant )

题目描述

编号为00N1N-1NN个人围坐在一个转盘周围,按逆时针顺序均匀分布。编号为 pip_{i} 的盘子放在第 ii 个人面前的桌子上。

你可以执行以下操作 0 次或多次:

  • 将转盘逆时针旋转 1N\frac{1}{N} 圈。结果是,原本在第 ii 个人面前的盘子现在会在第 (i+1)modN(i+1) \bmod N 个人面前。

操作结束后,如果盘子i刚好在第(N1)modN(N-1) \bmod N个人,或者第ii个人,或者第(i+1)modN(i+1)\bmod N个人前面,第ii个人就会开心。请计算最多可能有多少人开心。

对于一个整数 aa 和一个正整数 bbamodba \mod b 表示 aa 除以 bb 后的余数。具体来说,它是一个介于 00(b1)(b-1) 之间的整数 xx,使得 (ax)(a - x)bb 的倍数。(可以证明这样的 xx 是唯一的。)

输入格式

输入从标准输入中给出,格式如下:

NN

p0p_0 p1p_1 \cdots. pN1p_{N-1}

输出格式

输出所求答案。

样例

4
1 2 0 3
4
3
0 1 2
3
10
3 9 6 1 7 2 8 0 5 4
5

样例1解释

下图显示了执行一次操作后的桌子状态。

此时有四个人感到高兴:

  • 第 0 个人高兴,因为 0 号盘子在第 3 个人(= (0-1) mod 4)面前;
  • 第 1 个人高兴,因为 1 号盘子在第 1 个人(= 1)面前;
  • 第 2 个人高兴,因为 2 号盘子在第 2 个人(= 2)面前;
  • 第 3 个人高兴,因为 3 号盘子在第 0 个人(= (3+1) mod 4)面前。

不可能有 5 个或更多的人感到高兴,所以答案是 4。

数据范围

  • 3N2×1053 \leq N \leq 2 \times 10^5
  • 0piN10 \leq p_i \leq N-1
  • 如果 iji \neq j,则 pipjp_i \neq p_j
  • 所有输入均为整数。

来源

  • AtCoder ABC268C