AtCoder Regular Contest 187
C
1 Loop Bubble Sort
AtCoder
⌀ 2574
原题
← BD →
翻译中…

Problem Statement

翻译中…

For a permutation $P = (P_1, \ldots, P_N)$ of $(1, \ldots, N)$, let $P' = (P'_1, \ldots, P'_N)$ be the permutation obtained by performing the following operation once.

翻译中…
  • For $i = 1, 2, \ldots, N-1$ in this order, if $P_i > P_{i+1}$, swap $P_i$ and $P_{i+1}$.
翻译中…

You are given a sequence $Q = (Q_1, \ldots, Q_N)$ of length $N$. Each $Q_i$ is $-1$ or an integer between $1$ and $N$, inclusive.

翻译中…

Find the number, modulo $998244353$, of permutations $P$ of $(1, \ldots, N)$ such that, for every $i$, if $Q_i \neq -1$ then $Q_i = P'_i$.

翻译中…

Constraints

翻译中…
  • All input numbers are integers.
  • $2 \leq N \leq 5000$
  • Each $Q_i$ is $-1$ or an integer between $1$ and $N$.
  • Each of $1,2,\ldots,N$ appears at most once in $Q$.
翻译中…

Input

翻译中…

The input is given from Standard Input in the following format:

翻译中…

N
Q_1 \ldots Q_N

翻译中…

Output

翻译中…

Print the answer.

翻译中…

样例

Input #1
4
-1 -1 2 4
Output #1
6
For example, $P = (3,1,4,2)$ satisfies the conditions. This can be confirmed by the following behavior of the operation. - For $i=1$, since $P_1 > P_2$, swap $P_1$ and $P_2$, resulting in $P = (1,3,4,2)$. - For $i=2$, since $P_2 < P_3$, do nothing. - For $i=3$, since $P_3 > P_4$, swap $P_3$ and $P_4$, resulting in $P = (1,3,2,4)$. - Thus, $P' = (1,3,2,4)$, satisfying $P'_3=2$ and $P'_4=4$. There are six permutations $P$ that satisfy the conditions: - $(1,3,4,2)$ - $(1,4,3,2)$ - $(3,1,4,2)$ - $(3,4,1,2)$ - $(4,1,3,2)$ - $(4,3,1,2)$
Input #2
6
-1 -1 -1 -1 2 -1
Output #2
120
Input #3
15
-1 -1 -1 -1 -1 4 -1 -1 -1 -1 7 -1 -1 -1 -1
Output #3
237554682
Remember to find the count modulo $998244353$.
题目信息
题号
arc187_c
时间限制
2 s
内存限制
1024 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。