A96796.颜色配对

普及+/提高

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

nn 种不同颜色的球,第 ii 种颜色有 aia_i 个。

这些球可以被分成若干组。每组最多包含 22 个球,并且每组中每种颜色的球最多只能出现 11 个(也就是说:两球一组时必须是两种不同颜色)。

考虑所有 2n2^n 种颜色集合。对某个颜色集合,只使用集合内这些颜色的球,把它们分组所需的最少组数定义为这个集合的值。

你的任务是计算所有 2n2^n 个颜色集合的值之和。由于答案可能很大,请输出对 998244353998244353 取模的结果。

输入格式

第一行包含一个整数 nn,满足 1n50001 \le n \le 5000
第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n,满足 1ai50001 \le a_i \le 5000
额外保证:i=1nai5000\sum_{i=1}^n a_i \le 5000

输出格式

输出一个整数,表示所有 2n2^n 种颜色集合的值之和对 998244353998244353 取模的结果。

输入输出样例

  • 输入#1

    3
    1 1 2

    输出#1

    11
  • 输入#2

    1
    5

    输出#2

    5
  • 输入#3

    4
    1 3 3 7

    输出#3

    76

说明/提示

样例解释

样例 #1

输入:n=3n=3a=[1,1,2]a=[1,1,2]。共有 23=82^3=8 个颜色集合(把第 ii 种颜色是否选入当作开关):

  • 空集:没有球,值为 00
  • {1}\{1\}:只有 11 个球,最少 11 组,值为 11
  • {2}\{2\}:只有 11 个球,最少 11 组,值为 11
  • {3}\{3\}:只有 22 个同色球,不能放同一组,只能分成 22 组,值为 22
  • {1,2}\{1,2\}:两种颜色各 11 个,可以两球一组,最少 11 组,值为 11
  • {1,3}\{1,3\}:共有 33 个球,其中最大单色数量为 22,最少组数为 max(2,3/2)=2\max(2,\lceil 3/2\rceil)=2,值为 22
  • {2,3}\{2,3\}:同理,值为 22
  • {1,2,3}\{1,2,3\}:共有 44 个球,最大单色数量为 22,最少组数为 max(2,4/2)=2\max(2,\lceil 4/2\rceil)=2,值为 22

总和为 0+1+1+2+1+2+2+2=110+1+1+2+1+2+2+2=11

样例 #2

输入:n=1n=1a=[5]a=[5]
只有两个颜色集合:空集值为 00{1}\{1\}55 个同色球,必须分成 55 组,和值为 55

样例 #3

输入:n=4n=4a=[1,3,3,7]a=[1,3,3,7]
对任意选择的颜色集合,设总球数为 TT,其中最大单色数量为 MM,则最少组数为 max(M,T/2)\max(M,\lceil T/2\rceil)。把所有 242^4 个集合的这个值加起来,得到输出 7676

首页