题库/J0115

#J0115. 【25CSPJ普及组】多边形

    传统题 难度: 普及 标签>一本通背包组合计数排序、稳定性与比较规则
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

J0115 · 【25CSPJ普及组】多边形

退出在线编程模式
普及 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交

题目描述

小 R 喜欢玩小木棍。小 R 有 nn 根小木棍,第i(1≤i≤n) i (1 ≤ i ≤ n) 根小木棍的长度为 aia_i。小 X 希望小 R 从这 nn 根小木棍中选出若干根小木棍,将它们按任意顺序首尾相连拼成一个多边形。小 R 并不知道小木棍能拼成多边形的条件,于是小 X 直接将条件告诉了他:对于长度分别为 l1,l2,...,lml_1, l_2, . . . , l_m 的 mm 根小木棍,这 mm 根小木棍能拼成一个多边形当且仅当 m≥3m ≥ 3 且所有小木棍的长度之和大于所有小木棍的长度最大值的两倍,即∑i=1mli>2×max⁡i=1mli\sum_{i=1}^ml_i>2×\max_{i=1}^ml_i。 由于小 R 知道了小木棍能拼成多边形的条件,小 X 提出了一个更难的问题:有多少种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形?你需要帮助小 R 求出选出的小木棍能够拼成一个多边形的方案数。两种方案不同当且仅当选择的小木棍的下标集合不同,即存在 1≤i≤n1 ≤ i ≤ n,使得其中一种方案选择了第 ii 根小木棍,但另一种方案未选择。由于答案可能较大,你只需要求出答案对998,244,353998, 244, 353 取模后的结果。

输入

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

输出

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

输入样例

5
1 2 3 4 5

输出样例

9

提示

【样例 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 输入】
5
2 2 3 8 10

【样例 2 输出】

6

共有以下 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≤n≤5,0003 ≤ n ≤ 5, 000; • 对于所有 1≤i≤n1 ≤ i ≤ n,均有 1≤ai≤5,0001 ≤ a_i ≤ 5, 000。
测试点编号 n ≤$\max_{i=1}^{n}a_i≤$
1 ∼ 3310
4 ∼ 610$10^2$
7 ∼ 1020
11 ∼ 14500
15 ∼ 171
18 ∼ 205000
21 ∼ 255000