atcoder#ARC126F. [ARC126F] Affine Sort

[ARC126F] Affine Sort

配点 : 11001100

問題文

NN 項からなる正整数列 X=(X1,X2,,XN)X = (X_1, X_2, \ldots, X_N) が与えられます。

正の整数 KK に対して、整数の組 (a,b,c)(a,b,c) のうちで以下の条件がすべて成り立つものの個数を f(K)f(K) と書くことにします。

  • 1cK1\leq c \leq K
  • 0a<c0\leq a < c かつ 0b<c0\leq b < c
  • ii に対して aXi+baX_i + bcc で割った余りを YiY_i とするとき、Y1<Y2<<YNY_1 < Y_2 < \cdots < Y_N が成り立つ。

極限 limKf(K)K3\displaystyle \lim_{K\to\infty} \frac{f(K)}{K^3} が存在することが証明できます。 この値を mod998244353\mod 998244353 で求めてください(注記参照)。

注記

求める極限は必ず有理数となることが証明できます。またこの問題の制約下では、その値を互いに素な 22 つの整数 P,QP, Q を用いて PQ\frac{P}{Q} と表したとき、R×QP(mod998244353)R\times Q\equiv P\pmod{998244353} かつ 0R<9982443530\leq R < 998244353 を満たす整数 RR がただ一つ存在することが証明できます。この RR を求めてください。

制約

  • 2N1032\leq N\leq 10^3
  • XiX_i は正の整数で、i=1NXi5×105\sum_{i=1}^N X_i \leq 5\times 10^5 を満たす
  • iji\neq j ならば XiXjX_i\neq X_j

入力

入力は以下の形式で標準入力から与えられます。

NN

X1X_1 X2X_2 \ldots XNX_N

出力

limKf(K)K3\displaystyle \lim_{K\to\infty} \frac{f(K)}{K^3}mod998244353\mod 998244353 で出力してください。

3
3 1 2
291154603
  • 例えば (a,b,c)=(3,5,7)(a,b,c) = (3,5,7) とすると、Y1=0Y_1 = 0, Y2=1Y_2 = 1, Y3=4Y_3 = 4 となり、Y1<Y2<Y3Y_1 < Y_2 < Y_3 が成り立ちます。
  • f(1)=0f(1) = 0, f(2)=0f(2) = 0, f(3)=1f(3) = 1, f(4)=2f(4) = 2, f(5)=5f(5) = 5 が成り立ちます。
  • $\displaystyle \lim_{K\to\infty} \frac{f(K)}{K^3} = \frac{1}{24}$ が成り立ちます。
3
5 9 2
832860616

$\displaystyle \lim_{K\to\infty} \frac{f(K)}{K^3} = \frac{55}{1008}$ が成り立ちます。

2
2 3
166374059

$\displaystyle \lim_{K\to\infty} \frac{f(K)}{K^3} = \frac{1}{6}$ が成り立ちます。

4
4 5 3 2
0

$\displaystyle \lim_{K\to\infty} \frac{f(K)}{K^3} = 0$ が成り立ちます。