‹ 上一题 下一题 ›

j02258. CSP-J 2025 复赛 T4 多边形 未做

1000 ms 512 MB 测试点 25 通过率 0% J·复赛真题CSP-J2025复赛真题背包动态规划
文件读写输入polygon.in输出polygon.out

题目描述

时间限制:1s 内存限制:512MB 来源:洛谷 P14360

题目描述

小 R 喜欢玩小木棍。小 R 有 根小木棍,第 () 根小木棍的长度为 。

小 X 希望小 R 从这 根小木棍中选出若干根小木棍,将它们按任意顺序首尾相连拼成一个多边形。小 R 并不知道小木棍能拼成多边形的条件,于是小 X 直接将条件告诉了他:对于长度分别为 的 根小木棍,这 根小木棍能拼成一个多边形当且仅当 且所有小木棍的长度之和大于所有小木棍的长度最大值的两倍,即 。

由于小 R 知道了小木棍能拼成多边形的条件,小 X 提出了一个更难的问题:有多少种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形?你需要帮助小 R 求出选出的小木棍能够拼成一个多边形的方案数。两种方案不同当且仅当选择的小木棍的下标集合不同,即存在 ,使得其中一种方案选择了第 根小木棍,但另一种方案未选择。由于答案可能较大,你只需要求出答案对 取模后的结果。

输入格式

输入的第一行包含一个正整数 ,表示小 R 的小木棍的数量。

输入的第二行包含 个正整数 ,表示小 R 的小木棍的长度。

输出格式

输出一行一个非负整数,表示小 R 选出的小木棍能够拼成一个多边形的方案数对 取模后的结果。

样例

输入
5
1 2 3 4 5
输出
9

说明/提示

【样例 1 解释】

共有以下 种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形:

  1. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  2. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  3. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  4. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  5. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  6. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  7. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  8. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  9. 选择第 根小木棍,长度之和为 ,长度最大值为 。

【样例 2 解释】

共有以下 种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形:

  1. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  2. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  3. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  4. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  5. 选择第 根小木棍,长度之和为 ,长度最大值为 ;
  6. 选择第 根小木棍,长度之和为 ,长度最大值为 。

【样例 3】

见选手目录下的 与 。

该样例满足测试点 的约束条件。

【样例 4】

见选手目录下的 与 。

该样例满足测试点 的约束条件。

【子任务】

对于所有测试数据,保证:

  • ;
  • 对于所有 ,均有 。
测试点编号
^
^
^
^
^
输入
输出

            
答案