atcoder#ABC270H. [ABC270Ex] add 1

[ABC270Ex] add 1

配点 : 600600

問題文

A1=0A_1=0 かつ AN>0A_N>0 であるような、NN 個の非負整数の組 A=(A1,A2,,AN)A=(A_1,A_2,\ldots,A_N) が与えられます。

高橋君は NN 個のカウンターを持っており、最初、全てのカウンターの値は 00 です。 高橋君は、全ての 1iN1\leq i\leq N について ii 番目のカウンターの値が AiA_i 以上となるまで次の操作を繰り返します。

NN 個のカウンターの中から 11 つを等確率に選び、その値を 00 にする。(選択は毎回独立に行う。) 選んだカウンター 以外 のカウンターの値を 11 増加させる。

高橋君の操作回数の期待値を mod\mathrm{mod} 998244353998244353 で出力してください(注記参照)。

注記

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

制約

  • 2N2×1052\leq N\leq 2\times 10^5
  • 0=A1A2AN10180=A_1\leq A_2\leq \cdots \leq A_N\leq 10^{18}
  • AN>0A_N>0
  • 入力は全て整数

入力

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

NN

A1A_1 A2A_2 \ldots ANA_N

出力

高橋君の操作回数の期待値を mod\mathrm{mod} 998244353998244353 で出力せよ。

2
0 2
6

ii 番目のカウンターの値を CiC_i で表します。

高橋君の操作が終了するまでの一連の流れの例は次の通りです。

  • 11 番目のカウンターの値を 00 にした後、それ以外のカウンターの値を 11 増加させる。 (C1,C2)=(0,1)(C_1,C_2)=(0,1) となる。
  • 22 番目のカウンターの値を 00 にした後、それ以外のカウンターの値を 11 増加させる。 (C1,C2)=(1,0)(C_1,C_2)=(1,0) となる。
  • 11 番目のカウンターの値を 00 にした後、それ以外のカウンターの値を 11 増加させる。 (C1,C2)=(0,1)(C_1,C_2)=(0,1) となる。
  • 11 番目のカウンターの値を 00 にした後、それ以外のカウンターの値を 11 増加させる。 (C1,C2)=(0,2)(C_1,C_2)=(0,2) となる。

この場合の操作回数は 44 となります。

1,2,3,4,5,1,2,3,4,5,\ldots 回で操作が終了する確率はそれぞれ $0,\frac{1}{4}, \frac{1}{8}, \frac{1}{8}, \frac{3}{32},\ldots$ であり、 期待値は $2\times\frac{1}{4}+3\times\frac{1}{8}+4\times\frac{1}{8}+5\times\frac{3}{32}+\dots=6$ となります。 よって、 66 を出力します。

5
0 1 3 10 1000000000000000000
874839568