[ARC162D] Smallest Vertices
题意翻译
### 题目描述
在本问题中,当我们提到有根有向树时,我们指的是所有边都指向从根到叶子的有根树。
给定一个使得其总和为 $N-1$ 的非负整数序列 $d=(d_1,d_2,\ldots,d_N)$。
对于带编号从 $1$ 到 $N$ 的顶点,假设 $1$ 是根,我们将其点度数定义为 $d_i$。
我们称满足以下条件的有根有向树为**好树**:
- 点 $i$ 的出度是 $d_i$。
此外,对于好树的顶点 $v$,定义 $f(v)$ 为“以顶点 $v$ 为根的子树中的顶点(包括 $v$)的顶点编号的最小值”。我们将满足 $f(v)=v$ 的顶点称为**好顶点**。
求好树中所有好顶点的总数,将其对 $998244353$ 取模后的余数。
题目描述
[problemUrl]: https://atcoder.jp/contests/arc162/tasks/arc162_d
この問題では、根付き有向木と言った際には全ての辺が根から葉の方向に向き付けられた根付き木を指すものとします。
総和が $ N-1 $ であるような非負整数列 $ d=(d_1,d_2,\ldots,d_N) $ が与えられます。
頂点に $ 1 $ から $ N $ の番号がついた、頂点 $ 1 $ を根とする $ N $ 頂点の根付き有向木のうち、以下の条件を満たすものを**良い木**と呼びます。
- 頂点 $ i\ (1\leq\ i\ \leq\ N) $ の出次数は $ d_i $
さらに、良い木の頂点 $ v $ に対して、 $ f(v) $ を「頂点 $ v $ の部分木に含まれる頂点($ v $ 含む)の頂点番号の最小値」と定め、$ f(v)=v $ を満たす頂点を**良い頂点**と呼びます。
良い木全てに対する良い頂点の個数の総和を $ 998244353 $ で割ったあまりを求めてください。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ d_1 $ $ d_2 $ $ \ldots $ $ d_N $
输出格式
答えを出力せよ。
输入输出样例
输入样例 #1
4
2 0 1 0
输出样例 #1
7
输入样例 #2
10
3 1 0 0 2 0 1 2 0 0
输出样例 #2
37542
说明
### 制約
- $ 2\ \leq\ N\ \leq\ 500 $
- $ 0\ \leq\ d_i\ \leq\ N-1 $
- $ d_1\ \geq\ 1 $
- $ \sum_{i=1}^N\ d_i\ =\ N-1 $
- 入力される数値は全て整数
### Sample Explanation 1
良い木は以下の $ 2 $ 通りあります。青く塗られた頂点は良い頂点です。 !\[\](https://img.atcoder.jp/arc162/D-sample1-zFXKLnmt.png) それぞれについて良い頂点は $ 4 $ 個、 $ 3 $ 個なので答えは $ 7 $ です。