AT_abc457_f [ABC457F] Second Gap

题目描述

给定一个整数 $N$ 和一个长度为 $N-1$ 的整数序列 $D = (D_1, D_2, \ldots, D_{N-1})$。 请你计算满足以下条件的排列 $P = (P_1, P_2, \ldots, P_N)$ 的个数,并对 $998244353$ 取模。 - 对于每个 $1 \le i \le N-1$,设 $(P_i, P_{i+1}, \ldots, P_N)$ 中数值最大的元素为 $P_a$,次大的元素为 $P_b$,则 $|a-b|=D_i$。

输入格式

输入从标准输入读入,格式如下: > $ N $ $ D_1 $ $ D_2 $ $\ldots$ $ D_{N-1} $

输出格式

输出一个整数,表示满足条件的排列个数,对 $998244353$ 取模后的结果。

说明/提示

## 样例解释 1 例如,$(2, 3, 1)$ 满足题意,具体如下: - 设 $(P_1, P_2, P_3) = (2, 3, 1)$。最大值是 $P_2$,次大值是 $P_1$,有 $|2 - 1| = 1 = D_1$。 - $(P_2, P_3) = (3, 1)$,最大值是 $P_2$,次大值是 $P_3$,有 $|2 - 3| = 1 = D_2$。 共有 $4$ 个满足条件的排列: $(1,2,3),(1,3,2),(2,3,1),(3,2,1)$。故输出 $4$。 ## 数据范围 - $2 \le N \le 2 \times 10^5$ - $1 \le D_i \le N-i$ - 所有输入均为整数。 由 ChatGPT 5 翻译