AT_mujin_pc_2018_f チーム分け

题目描述

将 $N$ 个人分组,每个人只能属于一个团队。 然而,有些人不希望加入人数过多的团队。 这个条件由一个长度为 $N$ 的整数序列 $a$ 给出,第 $i$ 个人只能被分配到人数不超过 $a_i$ 的团队中。 你想计算满足这些条件的分组方案数。由于答案可能非常大,请输出其对 $998244353$ 取模的结果。两种分组方案不同,指的是存在某两个人,在一种方案中属于同一团队,而在另一种方案中属于不同团队。

输入格式

输入通过标准输入按以下格式给出。 > $N$ $a_1$ $a_2$ ... $a_{N-1}$ $a_N$

输出格式

请输出满足条件的分组方案数对 $998244353$ 取模的结果。

说明/提示

### 限制条件 - $1 \leq N \leq 1000$ - $1 \leq a_i \leq N$ - 输入均为整数 ### 样例解释 1 将 $1$ 个人分组的方法只有 $1$ 种。 ### 样例解释 2 满足条件的分组方案有 $((1),(2),(3)),\ ((1,2),(3)),\ ((1,3),(2)),\ ((2,3),(1))$ 共 $4$ 种。 由 ChatGPT 4.1 翻译