#abc268e. [abc268_e]Chinese Restaurant (Three-Star Version)

[abc268_e]Chinese Restaurant (Three-Star Version)

题目描述

00 号人,11 号人,ldots\\ldots,以及 N1N-1 号人按逆时针顺序坐在一个圆桌周围,等距离分开。盘子 pip_i 在桌子上面 ii 号人的前面。
你可以进行 00 次或多次以下操作:

  • 将圆盘逆时针旋转 NN 分之一周。旋转之前,位于 ii 号人前面的盘子现在位于 (i+1)bmodN(i+1) \\bmod N 号人前面。

当你完成后,第 ii 号人的烦恼值为 kk,其中 kk 是最小的整数,使得盘子 ii 位于 ikbmodNi-k \\bmod N 号人前面或者 i+kbmodNi+k \\bmod N 号人前面。
NN 个人的烦恼值之和的最小可能值。

abmodma \\bmod m 是什么? 对于整数 aa 和正整数 mmabmodma \\bmod m 表示满足 0leqxleq(m1)0 \\leq x \\leq (m-1) 的整数 xx,使得 (ax)(a-x)mm 的倍数。(这样的 xx 是唯一的,可以证明。)

约束条件

  • 3leqNleq2times1053 \\leq N \\leq 2 \\times 10^5
  • 0leqpileqN10 \\leq p_i \\leq N-1
  • 如果 ineqji \\neq j,则 pineqpjp_i \\neq p_j
  • 输入中的所有值都是整数。

输入

从标准输入读入输入数据。

输入的格式如下:

NN p0p_0 ldots\\ldots pN1p_{N-1}

输出

将结果输出到标准输出。

示例输入 1

4
1 2 0 3

示例输出 1

2

下图显示了在进行一次操作后的桌子情况。

在这里,他们的烦恼值之和为 22,因为:

  • 00 号人的烦恼值是 11,因为盘子 00 位于 (01)bmod4=3(0-1) \\bmod 4 = 3 号人(即第 33 号人)前面;
  • 11 号人的烦恼值是 00,因为盘子 11 位于 (1+0)bmod4=1(1+0) \\bmod 4 = 1 号人(即第 11 号人)前面;
  • 22 号人的烦恼值是 00,因为盘子 22 位于 (2+0)bmod4=2(2+0) \\bmod 4 = 2 号人(即第 22 号人)前面;
  • 33 号人的烦恼值是 11,因为盘子 33 位于 (3+1)bmod4=0(3+1) \\bmod 4 = 0 号人(即第 00 号人)前面。

我们无法使得烦恼值之和小于 22,所以答案是 22


示例输入 2

3
0 1 2

示例输出 2

0

示例输入 3

10
3 9 6 1 7 2 8 0 5 4

示例输出 3

20