問題一覧 > 通常問題

No.3767 Earth Mover's Distance Sum

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 1024 MB / 標準ジャッジ問題
タグ : (AC するまで非表示) / 解いたユーザー数 4
作問者 : apricity / テスター : 👑 AngrySadEight
お気に入りにしたユーザー ProblemId : 14145 / 自分の提出
問題文最終更新日: 2026-10-08 16:44:52
yukicoder contest 518 (順位表) の他の問題:

問題文

長さと総和が等しい二つの非負整数列 $X = (X_1, X_2, \dots, X_n)$ と $Y = (Y_1, Y_2, \dots, Y_n)$ に対して, $X$ に次の操作を繰り返して $Y$ に一致させる際の操作回数として考えられる最小値を $f(X,Y)$ とします.

  • $1 \leq i \leq n$ かつ $X_i > 0$ を満たす整数 $i$ と, $1 \leq j \leq n$ かつ $|i-j| = 1$ を満たす整数 $j$ を選ぶ. $X_i$ を $X_i-1$ で, $X_j$ を $X_j+1$ で置き換える.

長さ $N$ の非負整数列 $A = (A_1, A_2, \dots, A_N)$ が与えられます. $A$ と長さおよび総和が等しいすべての非負整数列 $B$ に対する $f(A,B)$ の総和を $998244353$ で割った余りを求めてください.

入力

$N$
$A_1\ A_2\ \dots\ A_N$
  • 入力はすべて整数.
  • $2 \leq N \leq 10^6$
  • $0 \leq A_i$
  • $1 \leq \sum_{i=1}^{N} A_i \leq 10^6$

出力

考えられる $B$ すべてに対する $f(A,B)$ の総和を $998244353$ で割った余りを出力してください.

サンプル

サンプル1
入力
3
1 0 1
出力
8

$B$ として考えられるものは $(0,0,2), (0,1,1), (0,2,0), (1,0,1), (1,1,0), (2,0,0)$ の $6$ 通りです. $B = (0,0,2)$ のとき,次のようにして $2$ 回で $A$ を $B$ に一致させることができ,これが最小の操作回数です.

  • $i=1, j=2$ を選ぶ. $A = (0,1,1)$ となる.
  • $i=2, j=3$ を選ぶ. $A = (0,0,2)$ となる.

その他の $B$ に対する $f(A,B)$ の値は以下の通りです.

  • $B = (0,1,1)$ のとき, $f(A,B) = 1$ です.
  • $B = (0,2,0)$ のとき, $f(A,B) = 2$ です.
  • $B = (1,0,1)$ のとき, $f(A,B) = 0$ です.
  • $B = (1,1,0)$ のとき, $f(A,B) = 1$ です.
  • $B = (2,0,0)$ のとき, $f(A,B) = 2$ です.

よって答えは $2+1+2+0+1+2 = 8$ です.

サンプル2
入力
2
0 1
出力
1

サンプル3
入力
5
1 5 2 3 4
出力
42018

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。