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

Задача . E. Расстояние до различных


Рассмотрим массив \(a\) из \(n\) целых чисел, где каждый элемент находится в диапазоне от \(1\) до \(k\), и каждое целое число от \(1\) до \(k\) встречается как минимум один раз.

Массив \(b\) строится следующим образом: для \(i\)-го элемента массива \(a\) значение \(b_i\) — это расстояние до ближайшего элемента в \(a\), который не равен \(a_i\). Другими словами, \(b_i = \min \limits_{j \in [1, n], a_j \ne a_i} |i - j|\).

Например, если \(a = [1, 1, 2, 3, 3, 3, 3, 1]\), то \(b = [2, 1, 1, 1, 2, 2, 1, 1]\).

Вычислите количество различных массивов \(b\), которые можно получить, если рассмотреть все возможные массивы \(a\), и выведите его по модулю \(998244353\).

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

В единственной строке входных данных содержатся два целых числа \(n\) и \(k\) (\(2 \le n \le 2 \cdot 10^5\); \(2 \le k \le \min(n, 10)\)).

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

Выведите одно целое число — количество различных массивов \(b\), которые можно получить, взятое по модулю \(998244353\).


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

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

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