4301: 多重集合(1)

时间限制:1000 ms 内存限制:256 MB
上传者:
提交:4 通过:2

题目描述

假设p1,p2……pn为前n个素数,定义S为ai个pi组成的多重集合(i∈[1,n])。

例如,多重集{2,2,3,3,3,11}可以表示为: n=5,a=[2,3,0,0,1]。

我们定义对于一个数组arr而言,f(i)代表数组的前i个元素的乘积的因子数量。例如数组arr=[2,2,3],那么f(2)=3,f(3)=6

现在给定了n和数组a,它表示了一个大小为$$size=\sum_{i=1}^na_i$$的多重集。

请你用这个多重集的所有元素构造大小为size的一个数组,满足$$\sum_{i=1}^{size}f(i)$$

尽可能大。请你求出这个最大值,对998244353取模。

输入格式

第一行输入一个正整数n,代表素数的种类数。
第二行输入n个整数ai,分别代表每个素数的数量。
1≤n≤200000 0≤ai≤2000000 保证a数组中至少有一个正整数。

输出格式

一个正整数,代表最终构造出的数组的$$\sum_{i=1}^{size}f(i)$$的最大值,答案对998244353取模。

输入样例 复制

4
2 3 0 1

输出样例 复制

68

数据范围与提示

分类标签