#P11152. [THUWC 2018] 七彩序列

[THUWC 2018] 七彩序列

题目背景

来源:https://www.gitlink.org.cn/thusaa/thuwc2018

2018 清华大学信息学冬季体验营(THUWC 2018)D2T2。5s,0.5G\texttt{5s,0.5G}

题目描述

给出 nn 种颜色的小球若干,颜色的编号从 11nn ,第 ii 种颜色的小球共有 aia_i 个。小 LL 要把这些小球排成一个序列,使得存在一个非空前缀或非空后缀是“整齐的”。这里我们称一个前缀或后缀是“整齐的”,当且仅当其中所有 nn 个颜色小球的出现次数相同。你的任务是计算本质不同的序列数目。

善良的 temporaryDO 给大家指出了一些必要的说明:

  1. 一个序列长度为 lenlen前缀(后缀)指的是序列中最靠(右)的 lenlen 个小球。而非空前缀或后缀指的即是 len0len\neq 0 的前缀或后缀。

  2. 对于一个小球的序列 SS,令 SiS_i 表示从左到右数的第 ii 个小球的颜色。我们认为两个小球序列 S,TS, T 本质不同,当且仅当存在一个位置 ii 使得 SiS_i 不同于 TiT_i

为了避免高精度,你只需要计算答案对 998,244,353998,244,353​ 取模的结果即可。

输入格式

从标准输入读入数据。

输入的第一行包含一个整数 nn ,表示颜色的种类数。

接下来一行包含 nn 个用空格隔开的整数,第 ii 个正整数为 aia_i ,表示第 ii 种颜色小球的数量。

输出格式

输出到标准输出。

输出包含一行一个整数,表示本质不同的小球序列数目对 998,244,353998,244,353 取模的结果。

3
1 1 2
2
5
5 6 7 8 9

322192262

提示

样例 11 解释

合法的两种方案分别为:1 3 3 22 3 3 1,显然,没有其他满足条件的序列。

子任务

测试点编号 n=n= aia_i\le
11 22 500500
22 2×1052\times 10^5
33
44 5050 2×1032\times 10^3
55 7575
66 100100
77 5050 10510^5
88 7575 1.5×1051.5\times 10^5
99 9090 1.75×1051.75\times 10^5
1010 100100 2×1052\times 10^5

对于 100%100\% 的数据,保证 n100n \le 100,所有 ai200,000a_i\le 200,000