AT_abc464_f [ABC464F] Random Vault Heist

题目描述

Kowasugi 银行有 $N$ 个保险箱。第 $i$ 个保险箱里有 $A_i$ 日元。 有一天,一名劫匪闯入银行。劫匪会重复以下操作,直到他偷到的钱总额达到至少 $X$ 日元为止: - 从尚未被打开的保险箱中,等概率随机选择一个,打开它,并偷走里面所有的钱。 请计算这个劫匪最终偷走的钱数的期望值,并对 $998244353$ 取模输出。 期望值模 $998244353$ 的定义: 可以证明,本题中所要求的期望值始终是一个有理数。此外,在本题的约束条件下,可以证明当该值表示为最简分数 $\frac{P}{Q}$ 时,$Q \not\equiv 0 \pmod{998244353}$。因此,必存在唯一一个整数 $R$,满足 $R \times Q \equiv P \pmod{998244353}$,且 $0 \le R < 998244353$。请输出该 $R$。

输入格式

输入以如下格式从标准输入中给出: > $N$ $X$ $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

输出答案。

说明/提示

### 样例解释 1 第一次打开保险箱有两种选择。 如果第一次打开第 $1$ 号保险箱,那么劫匪还会再打开第 $2$ 号保险箱,所以一共偷得 $13$ 日元。 如果第一次打开第 $2$ 号保险箱,那么一开始总额就达到 $X$ 日元,因此总共偷得 $10$ 日元。 由此,期望值是 $\frac{13 + 10}{2} = \frac{23}{2}$。 ### 样例解释 2 无论以何种顺序打开保险箱,当打开了两个保险箱后,偷的钱数都是 $2$ 日元。因此,期望值为 $2$。 ### 约束条件 - $1 \le N \le 40$ - $1 \le A_i \le 10^{16}$ - $1 \le X \le \sum_{i=1}^{N} A_i$ - 所有输入值均为整数。 由 ChatGPT 5 翻译