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

Задача . D. Лексихроматография


Пак Чанек любит свой факультет — факультет компьютерных наук Университета Индонезии (Fasilkom). Он хочет поиграть с цветами эмблемы факультета - синим и красным.

Имеется массив \(a\), состоящий из \(n\) элементов, элемент \(i\) имеет значение \(a_i\). Пак Чанек хочет окрасить каждый элемент массива в синий или красный цвет так, чтобы выполнялись следующие условия:

  • Если все синие элементы складываются в подпоследовательность\(^\dagger\) и все красные элементы тоже, то синяя подпоследовательность строго меньше красной подпоследовательности лексикографически\(^\ddagger\).
  • Массив \(a\) не имеет ни одного несбалансированного подмассива. Подмассив называется несбалансированным тогда и только тогда, когда существует такое значение \(k\), что количество красных элементов на этом подмассиве со значением \(k\) и количество синих элементов со значением \(k\) отличается хотя бы на \(2\).
  • Заметим, что можно покрасить все элементы массива в один и тот же цвет.

Сколько различных раскрасок удовлетворяют всем этим условиям? Поскольку ответ может быть очень большим, выведите ответ по модулю \(998\,244\,353\). Две раскраски различны тогда и только тогда, когда существует хотя бы один элемент, который в одной раскраске является синим, а в другой - красным.

\(^\dagger\) Подпоследовательность массива - это последовательность, которая может быть получена из массива путем удаления некоторых элементов (возможно, ни одного), без изменения порядка оставшихся элементов.

\(^\ddagger\) Пусть \(p\) и \(q\) - две различные последовательности. Считается, что последовательность \(p\) лексикографически меньше последовательности \(q\) тогда и только тогда, когда \(p\) является префиксом \(q\) или существует индекс \(i\) такой, что \(p_j=q_j\) для всех \(1\leq j<i\), и \(p_i<q_i\). В частности, пустая последовательность всегда лексикографически меньше любой непустой последовательности.

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

Первая строка содержит одно целое число \(n\) (\(1 \leq n \leq 2\cdot10^5\)) — размер массива \(a\).

Вторая строка содержит \(n\) целых чисел \(a_1,a_2,a_3,\ldots,a_n\) (\(1\leq a_i\leq2\cdot10^5\)).

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

Выведите одно целое число — количество различных раскрасок, удовлетворяющих всем условиям задачи, по модулю \(998\,244\,353\).

Примечание

В первом примере \(3\) способа раскраски всех элементов с индекса \(1\) по индекс \(8\):

  • Синий, красный, красный, синий, синий, красный, красный, синий.
  • Синий, красный, красный, красный, синий, синий, красный, синий.
  • Красный, красный, синий, голубой, синий, красный, красный, синий.

Например, если мы раскрасим элементы с индекса \(1\) по индекс \(8\) в красный, красный, синий, красный, красный, красный, синий, синий, синий, то это не будет корректной раскраской, так как для подмассива \(a[2..6]\) существует \(0\) синих элементов со значением \(3\) и \(2\) красных элемента со значением \(3\), что делает подмассив \(a[2..6]\) несбалансированным подмассивом.


Примеры
Входные данныеВыходные данные
1 8
1 3 1 2 3 2 3 3
3
2 1
265
1

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

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