#D0804. 旋转餐桌

旋转餐桌

题目描述

小 D 来到一家旋转餐厅。餐厅中央有一个圆形传送带,周围坐着 NN 位顾客,编号为 0,1,,N10,1,\dots,N-1。传送带上有 NN 道菜,编号也为 0,1,,N10,1,\dots,N-1

初始时,第 ii 位顾客面前放着第 pip_i 道菜。所有 pip_i 互不相同。

传送带每旋转一次,每道菜都会移动到下一位顾客面前。也就是说,原来在第 ii 位顾客面前的菜,会移动到第 (i+1)modN(i+1) \bmod N 位顾客面前。

如果旋转结束后,第 ii 道菜在第 i1i-1、第 ii 或第 i+1i+1 位顾客面前(编号按模 NN 计算),那么第 ii 位顾客就会满意。

小 D 可以让传送带旋转任意次,包括 00 次。请计算最多能让几位顾客满意。

输入格式

第一行输入一个正整数 NN

第二行输入 NN 个整数 p0,p1,,pN1p_0,p_1,\dots,p_{N-1},表示初始时第 ii 位顾客面前是第 pip_i 道菜。

输出格式

输出一个整数,表示最多满意的顾客数。

样例

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

样例解释

样例 1 中,旋转 11 次后,第 00 道菜来到顾客 33 面前,第 11 道菜来到顾客 11 面前,第 22 道菜来到顾客 22 面前,第 33 道菜来到顾客 00 面前。每道菜都在同编号顾客或相邻顾客面前,所以 44 位顾客都满意。

样例 2 中,不旋转时,每道菜都在同编号顾客面前,33 位顾客都满意。

样例 3 中,选择合适的旋转次数,最多可以让 55 位顾客满意。

数据范围与约定

子任务 分值 限制
11 4040 3N1003 \le N \le 100
22 6060 无特殊限制

对于 100%100\% 的数据,保证 3N2×1053 \le N \le 2 \times 10^50piN10 \le p_i \le N-1,所有 pip_i 互不相同。