D. 多边形

    Type: Default File IO: polygon 1000ms 512MiB

多边形

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目背景

难度在 普及/提高- 到 普及+/提高 之间,等待进一步确定。

题目描述

小 R 喜欢玩小木棍。小 R 有 nn 根小木棍,第 ii (1in1 \leq i \leq n) 根小木棍的长度为 aia_i

小 X 希望小 R 从这 nn 根小木棍中选出若干根小木棍,将它们按任意顺序首尾相连拼成一个多边形。小 R 并不知道小木棍能拼成多边形的条件,于是小 X 直接将条件告诉了他:对于长度分别为 l1,l2,,lml_1, l_2, \dots, l_mmm 根小木棍,这 mm 根小木棍能拼成一个多边形当且仅当 m3m \geq 3 且所有小木棍的长度之和大于所有小木棍的长度最大值的两倍,即 i=1mli>2×maxi=1mli\sum_{i=1}^{m} l_i > 2 \times \max_{i=1}^{m} l_i

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

输入格式

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

输入的第二行包含 nn 个正整数 a1,a2,,ana_1, a_2, \dots, a_n,表示小 R 的小木棍的长度。

输出格式

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

输入输出样例 #1

输入 #1

5
1 2 3 4 5

输出 #1

9

输入输出样例 #2

输入 #2

5
2 2 3 8 10

输出 #2

6

说明/提示

【样例 1 解释】

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

  1. 选择第 2,3,42, 3, 4 根小木棍,长度之和为 2+3+4=92 + 3 + 4 = 9,长度最大值为 44;
  2. 选择第 2,4,52, 4, 5 根小木棍,长度之和为 2+4+5=112 + 4 + 5 = 11,长度最大值为 55;
  3. 选择第 3,4,53, 4, 5 根小木棍,长度之和为 3+4+5=123 + 4 + 5 = 12,长度最大值为 55;
  4. 选择第 1,2,3,41, 2, 3, 4 根小木棍,长度之和为 1+2+3+4=101 + 2 + 3 + 4 = 10,长度最大值为 44;
  5. 选择第 1,2,3,51, 2, 3, 5 根小木棍,长度之和为 1+2+3+5=111 + 2 + 3 + 5 = 11,长度最大值为 55;
  6. 选择第 1,2,4,51, 2, 4, 5 根小木棍,长度之和为 1+2+4+5=121 + 2 + 4 + 5 = 12,长度最大值为 55;
  7. 选择第 1,3,4,51, 3, 4, 5 根小木棍,长度之和为 1+3+4+5=131 + 3 + 4 + 5 = 13,长度最大值为 55;
  8. 选择第 2,3,4,52, 3, 4, 5 根小木棍,长度之和为 2+3+4+5=142 + 3 + 4 + 5 = 14,长度最大值为 55;
  9. 选择第 1,2,3,4,51, 2, 3, 4, 5 根小木棍,长度之和为 1+2+3+4+5=151 + 2 + 3 + 4 + 5 = 15,长度最大值为 55

【样例 2 解释】

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

  1. 选择第 1,2,31, 2, 3 根小木棍,长度之和为 2+2+3=72 + 2 + 3 = 7,长度最大值为 33;
  2. 选择第 3,4,53, 4, 5 根小木棍,长度之和为 3+8+10=213 + 8 + 10 = 21,长度最大值为 1010;
  3. 选择第 1,2,4,51, 2, 4, 5 根小木棍,长度之和为 2+2+8+10=222 + 2 + 8 + 10 = 22,长度最大值为 1010;
  4. 选择第 1,3,4,51, 3, 4, 5 根小木棍,长度之和为 2+3+8+10=232 + 3 + 8 + 10 = 23,长度最大值为 1010;
  5. 选择第 2,3,4,52, 3, 4, 5 根小木棍,长度之和为 2+3+8+10=232 + 3 + 8 + 10 = 23,长度最大值为 1010;
  6. 选择第 1,2,3,4,51, 2, 3, 4, 5 根小木棍,长度之和为 2+2+3+8+10=252 + 2 + 3 + 8 + 10 = 25,长度最大值为 1010

【样例 3】

见选手目录下的 polygon/polygon3.inpolygon/polygon3.inpolygon/polygon3.anspolygon/polygon3.ans

该样例满足测试点 7107 \sim 10 的约束条件。

【样例 4】

见选手目录下的 polygon/polygon4.inpolygon/polygon4.inpolygon/polygon4.anspolygon/polygon4.ans

该样例满足测试点 111411 \sim 14 的约束条件。

【子任务】

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

  • 3n5,0003 \leq n \leq 5,000;
  • 对于所有 1in1 \leq i \leq n,均有 1ai50001 \leq a_i \leq 5\,000

::cute-table{tuack}

测试点编号 nn \leq maxi=1nai\max_{i=1}^{n} a_i \leq
131 \sim 3 33 1010
464 \sim 6 1010 10210^2
7107 \sim 10 2020 ^
111411 \sim 14 500500
151715 \sim 17 ^ 11
182018 \sim 20 50005\,000 ^
212521 \sim 25 ^ 50005\,000