| Kotlin Heroes: Episode 14 |
|---|
| Закончено |
MEX последовательности неотрицательных чисел $$$[s_1, s_2, \dots, s_n]$$$ — минимальное неотрицательное целое число, которое не встречается в этой последовательности.
Дан массив $$$[a_1, a_2, \dots, a_n]$$$, где каждый элемент — целое число от $$$-1$$$ до $$$n$$$. Для каждого $$$i$$$ от $$$1$$$ до $$$n$$$ посчитайте $$$f([a_1, a_2, \dots, a_i])$$$, где $$$f(s)$$$ для массива $$$s$$$ определяется следующим образом:
В первой строке задано одно целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$).
Во второй строке заданы $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$-1 \le a_i \le n$$$).
Дополнительное ограничение на входные данные: в массиве $$$a$$$ не более $$$300$$$ элементов, равных $$$-1$$$.
Для каждого $$$i$$$ от $$$1$$$ до $$$n$$$ выведите одно целое число — $$$f([a_1, a_2, \dots, a_i])$$$, взятое по модулю $$$998244353$$$.
5-1 1 -1 3 -1
1 2 24 26 248
73 5 -1 -1 -1 -1 1
0 0 1 17 223 2645 4906
103 8 5 1 0 0 7 2 2 8
0 0 0 0 2 2 2 4 4 4
Рассмотрим $$$i=3$$$ в первом примере. Нужно посчитать $$$f([-1, 1, -1])$$$. Существует $$$36$$$ различных массивов, которые можно получить, заменив каждый элемент $$$-1$$$ на целое число от $$$0$$$ до $$$5$$$. Для $$$25$$$ из них (тех, в которых нет $$$0$$$) MEX равен $$$0$$$. Рассмотрим оставшиеся $$$11$$$:
Сумма этих значений равна $$$24$$$.
Если рассмотреть $$$i=4$$$, то к каждому из этих массивов надо приписать $$$3$$$. Это увеличит MEX двух массивов на $$$2$$$, поэтому для $$$i=4$$$ ответ равен $$$26$$$.
| Название |
|---|


