我的思考
仅自己可见 · 自动保存到账号,可在其他设备继续查看
1 秒 / 测试点 · 512 MiB
小 R 喜欢玩小木棍。小 R 有 $n$ 根小木棍,第 $i$ ($1 \leq i \leq n$) 根小木棍的长度为 $a_i$。
小 X 希望小 R 从这 $n$ 根小木棍中选出若干根小木棍,将它们按任意顺序首尾相连拼成一个多边形。小 R 并不知道小木棍能拼成多边形的条件,于是小 X 直接将条件告诉了他:对于长度分别为 $l_1, l_2, \dots, l_m$ 的 $m$ 根小木棍,这 $m$ 根小木棍能拼成一个多边形当且仅当 $m \geq 3$ 且所有小木棍的长度之和大于所有小木棍的长度最大值的两倍,即 $\sum_{i=1}^{m} l_i > 2 \times \max_{i=1}^{m} l_i$。
由于小 R 知道了小木棍能拼成多边形的条件,小 X 提出了一个更难的问题:有多少种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形?你需要帮助小 R 求出选出的小木棍能够拼成一个多边形的方案数。两种方案不同当且仅当选择的小木棍的下标集合不同,即存在 $1 \leq i \leq n$,使得其中一种方案选择了第 $i$ 根小木棍,但另一种方案未选择。由于答案可能较大,你只需要求出答案对 $998,244,353$ 取模后的结果。
输入的第一行包含一个正整数 $n$,表示小 R 的小木棍的数量。
输入的第二行包含 $n$ 个正整数 $a_1, a_2, \dots, a_n$,表示小 R 的小木棍的长度。
输出一行一个非负整数,表示小 R 选出的小木棍能够拼成一个多边形的方案数对 $998,244,353$ 取模后的结果。
5
1 2 3 4 5
9
5
2 2 3 8 10
6
共有以下 $9$ 种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形:
共有以下 $6$ 种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形:
见选手目录下的 $\textit{\textbf{polygon/polygon3.in}}$ 与 $\textit{\textbf{polygon/polygon3.ans}}$。
该样例满足测试点 $7 \sim 10$ 的约束条件。
见选手目录下的 $\textit{\textbf{polygon/polygon4.in}}$ 与 $\textit{\textbf{polygon/polygon4.ans}}$。
该样例满足测试点 $11 \sim 14$ 的约束条件。
对于所有测试数据,保证:
::cute-table{tuack}
| 测试点编号 | $n \leq$ | $\max_{i=1}^{n} a_i \leq$ |
|---|---|---|
| $1 \sim 3$ | $3$ | $10$ |
| $4 \sim 6$ | $10$ | $10^2$ |
| $7 \sim 10$ | $20$ | ^ |
| $11 \sim 14$ | $500$ | ^ |
| $15 \sim 17$ | ^ | $1$ |
| $18 \sim 20$ | $5\,000$ | ^ |
| $21 \sim 25$ | ^ | $5\,000$ |
题目可直接阅读。页面加载后可编写 C++ 代码、运行样例并提交在线评测。
不限时,可逐题在网页作答、提交评测。
知识点、难度与考点提示为本站编辑标注,用于按专题组卷练习;点击题目进入原卷作答环境。
仅自己可见 · 自动保存到账号,可在其他设备继续查看