P6726: 老师的饭店(restaurant)

传统题
1.000s 时间限制
128MB 内存限制
0 提交
0 解决

【题目描述】
【题目背景】
生活不易,老师也是需要养家糊口的。最近老师开了一家饭店。
【题目描述】
老师的饭店最多可以招待 n 个人,对应的编号从 0 ∼ n − 1
n 个客人坐在一个只能逆时针旋转的巨大圆桌,每个人前面都会摆上一道佳肴。开始的时候,编号为 i 的人面前摆正的佳肴编号为 pi
当且仅当满足以下条件,我们称为幸福的。
i 道佳肴恰好在编号第 (i − 1) mod n 的人,编号为 i 的人,或者编号为 (i + 1) mod n 的人。
现在你一种魔法:该魔法可以逆时针方向任意旋转圆桌一下。这样原来在编号为 i 的佳肴,将旋转到编号为 (i + 1) mod n 的人前面。
你可以任意次使用该魔法,问经过这些操作后,最大幸福数是多少?
【输入格式】
从文件 restaurant.in 中读入数据。
输入一共包括 2 行。
1 行为一个正整数 n,表示老师的饭店最多可以容纳 n 人。
2 行包括 n 个正整数。第 i 个数为编号为 i 的人面前摆的佳肴编号 pi
请注意:编号从 0 开始。
【输出格式】
输出到文件 restaurant.out 中。
输出一行包括一个正整数,表示最大的幸福数。
【样例 1 输入】
4
1 2 0 3
【样例 1 输出】
4
【样例 1 解释】

图片中,左边图片显示了饭店的初始状态,右边图片显示最终的操
作。
这样,一共有 4 个人感觉幸福。
编号为 0 的人是幸福的,因为编号为 0 的佳肴在编号为 3 (= (0 − 1) mod 4) 的人前面。
编号为 1 的人是幸福的,因为编号为 1 的佳肴在编号为 1 (= 1) 人前面。
编号为 2 的人是幸福的,因为编号为 2 的佳肴在编号为 2 (= 2) 人前面。
编号为 3 的人是幸福的,因为编号为 3 的佳肴在编号为 0 (= (3 + 1) mod 4) 的人前面。
所以对应的答案为 4
【样例 2 输入】
3
0 1 2
【样例 2 输出】
3
【样例 3 输入】
10
3 9 6 1 7 2 8 0 5 4
【样例 3 输出】
5
【数据范围】
3 ≤ n ≤ 2 × 10^5
0 ≤ pi ≤ n − 1
pi≠pj,当 i≠j
所有的数据都是整数,保证输入数据合法。

题目类型~

模拟赛 

咻咻~

提交答案 状态