11888. Ресторан
Відправити розв'язок
Бали:
100
Time limit:
1.0s
Memory limit:
500M
Author:
Problem type
Allowed languages
C++, Java, Pascal, Python
Люди \(0, 1, \ldots (N-1)\) сидять навколо поворотного столика в порядку проти годинникової стрілки, на рівних відстанях. Блюдо \(p_i\) знаходиться перед людиною \(i\) на столі. Ви можете виконати наступну операцію 0 або більше разів:
- Поверніть поворотний столик на \(1/N\)-ту оберту проти годинникової стрілки. У результаті страва, яка була перед особою \(i\) прямо перед поворотом, тепер знаходиться перед особою \((i+1) \bmod N\).
Коли ви закінчите, людина \(i\) буде задоволена, якщо блюдо \(i\) стоїть перед людиною \((i-1) \bmod N\), людиною \(i\) або людиною \((i+1) \bmod N(\).
Знайдіть максимально можливу кількість щасливих людей.
Обмеження
- \(3 \leq N \leq 2 \times 10^5\)
- \(0 \leq p_i \leq N-1\)
- \(p_i \neq p_j\) якщо \(i \neq j\).
- Усі значення у вхідних даних є цілими числами.
Формат вхідних даних
Перший рядок містить ціле число \(N\)
Наступний рядок містить \(N\) цілих чисел \(p_i\) (\(0 \le i \le N-1\))
Числа у рядках розділяються пропуском.
Формат вихідних даних
У вихідний потік виведіть відповідь.
Примітка
До прикладу 1:
Ось четверо щасливих людей:
- Особа 0 щаслива, тому що блюдо 0 стоїть перед особою 3 (=(0-1) mod 4));
- Особа 1 щаслива, тому що страва 1 стоїть перед особою 1 (=1);
- Особа 2 щаслива, тому що блюдо 2 стоїть перед особою 2 (=2);
- Особа 3 щаслива, тому що блюдо 3 стоїть перед особою 0 (=(3+1) mod 4).
Приклад вхідних даних
4
1 2 0 3
Приклад вихідних даних
4
Приклад вхідних даних
3
0 1 2
Приклад вихідних даних
3
Приклад вхідних даних
10
3 9 6 1 7 2 8 0 5 4
Приклад вихідних даних
5
Коментарі