AT_arc162_e [ARC162E] Strange Constraints

题目描述

给定一个长度为 $N$ 的数列 $A=(A_1,A_2,\ldots,A_N)$,其中每个 $A_i$ 是 $1$ 到 $N$ 之间的整数。 请你计算满足以下条件的长度为 $N$ 的数列 $B=(B_1,B_2,\ldots,B_N)$ 的个数,其中每个 $B_i$ 是 $1$ 到 $N$ 之间的整数,并将结果对 $998244353$ 取模: - 对于每个 $i=1,2,\ldots,N$,数列 $B$ 中数字 $i$ 出现的次数不超过 $A_i$。 - 对于每个 $i=1,2,\ldots,N$,数列 $B$ 中数字 $B_i$ 出现的次数不超过 $A_i$。

输入格式

输入以如下格式从标准输入读入: > $N$ $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

请输出答案。

说明/提示

## 限制条件 - $1\leq N\leq 500$ - $1\leq A_i\leq N$ - 输入的所有数均为整数 ## 样例解释 1 满足条件的数列共有 $10$ 个: - $(1,2,2)$ - $(1,2,3)$ - $(1,3,2)$ - $(1,3,3)$ - $(2,1,3)$ - $(2,3,1)$ - $(2,3,3)$ - $(3,1,2)$ - $(3,2,1)$ - $(3,2,2)$ ## 样例解释 2 满足条件的数列是所有由 $1$ 到 $4$ 组成的长度为 $4$ 的数列,共有 $4^4=256$ 个。 ## 样例解释 3 满足条件的数列是将 $(1,2,3,4,5)$ 全排列得到的所有数列,共有 $5!=120$ 个。 ## 样例解释 4 请输出个数对 $998244353$ 取模的结果。 由 ChatGPT 4.1 翻译