Олимпиадный тренинг

Задача . D. Удалите один элемент


Задача

Темы: дп Перебор *1500

Вам задан массив \(a\), состоящий из \(n\) целых чисел.

Вы можете удалить не более одного элемента из этого массива. Таким образом, после этой операции длина массива равна либо \(n-1\), либо \(n\).

Ваша задача — посчитать максимально возможную длину строго возрастающего последовательного подмассива получившегося массива.

Напомним, что последовательным подмассивом \(a\) с индексами от \(l\) до \(r\) называется \(a[l \dots r] = a_l, a_{l + 1}, \dots, a_r\). Массив \(a[l \dots r]\) называется строго возрастающим, если \(a_l < a_{l+1} < \dots < a_r\).

Входные данные

Первая строка входных данных содержит одно целое число \(n\) (\(2 \le n \le 2 \cdot 10^5\)) — количество элементов в \(a\).

Вторая строка входных данных содержит \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^9\)), где \(a_i\) равно \(i\)-му элементу \(a\).

Выходные данные

Выведите одно целое число — максимально возможную длину строго возрастающего последовательного подмассива массива \(a\) после удаления не более одного элемента.

Примечание

В первом примере можно удалить \(a_3=5\). Тогда получившийся массив будет равен \([1, 2, 3, 4]\) и длина его наибольшего возрастающего подмассива будет равна \(4\).


Примеры
Входные данныеВыходные данные
1 5
1 2 5 3 4
4
2 2
1 2
2
3 7
6 5 4 3 2 4 3
2

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя