#P16312. [Ucpc2023初赛]逆序数

[Ucpc2023初赛]逆序数

题目描述

考虑所有由以下元素组成的序列:

  • a1a_1 个数字 11
  • a2a_2 个数字 22
  • \ldots
  • ana_n 个数字 nn

从所有满足上述条件的序列中等概率随机选取一个。求该序列的逆序数的平方的期望,并对 998244353998\,244\,353 取模。

对于一个长度为 LL 的序列

p1,p2,,pL,p_1,p_2,\ldots,p_L,

其逆序数定义为满足

i<j,pi>pji<j,\qquad p_i>p_j

的有序对 (i,j)(i,j) 的数量。

输入格式

第一行包含一个整数 nn,表示序列中可能出现的最大数字。

第二行包含 nn 个整数

a1,a2,,an,a_1,a_2,\ldots,a_n,

其中 aia_i 表示数字 ii 出现的次数。

输出格式

输出所求期望对 998244353998\,244\,353 取模后的结果。

数据范围

2n200000,2\le n\le 200\,000, ai1,a_i\ge 1, ni=1nai998244352.n\le \sum_{i=1}^{n}a_i\le 998\,244\,352.

样例 1

输入

2
1 1

输出

499122177

样例 2

输入

5
3 1 4 1 1

输出

166374411

说明

可以证明,逆序数平方的期望是一个有理数。设该有理数写成最简分数

pq,\frac{p}{q},

qq 不会是 998244353998\,244\,353 的倍数。

定义 pq\frac{p}{q}998244353998\,244\,353 取模的结果为最小的非负整数 xx,满足

xqp(mod998244353).xq\equiv p\pmod{998\,244\,353}.

在样例 1 中,由一个 11 和一个 22 组成的序列共有 1221 两种,它们的逆序数分别为 0011。因此逆序数平方的期望为

02+122=12.\frac{0^2+1^2}{2}=\frac{1}{2}.

由于

499122177×21(mod998244353),499122177\times 2\equiv 1\pmod{998\,244\,353},

所以答案为 499122177