問題一覧 > 通常問題

No.3328 岩井ツリーグラフ

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 38
作問者 : 👑 loop0919 / テスター : DeltaStruct 高橋ゆに こめだわら bolero elphe
ProblemId : 12260 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-11-01 16:23:04
コンテストの他の問題:

問題文

以下の手続きで作られた無向グラフを、腕の本数 $X$ 、腕の長さ $(Y_1, Y_2, \cdots, Y_X)$ の岩井ツリーグラフと定義します。 また、$\mathrm{sum}~Y$ を $\displaystyle \sum_{i = 1}^X Y_i$ と定義します。

  • $0$ から $\mathrm{sum} ~Y$ までの番号がそれぞれ割り当てられた $\mathrm{sum} ~ Y + 1$ 個の頂点を用意する。
  • 変数 $s$ を $0$ で初期化する。
  • $i = 1, 2, \cdots, X$ の順に以下の操作を繰り返す。
    • 頂点 $s + 1$ と頂点 $s + 2$ 、頂点 $s + 2$ と頂点 $s + 3$ 、 $\cdots$ 、頂点 $s + Y_i - 1$ と頂点 $s + Y_i$ をそれぞれ辺で結ぶ。
    • 頂点 $0$ と頂点 $s + 1$ を辺で結ぶ。
    • $s$ に $Y_i$ を加算する。

この岩井ツリーグラフの頂点 $i$ と頂点 $j$ の距離を $f(i, j)$ と定義します。

$\displaystyle \sum_{i = 0}^{\mathrm{sum} ~ Y} \sum_{j = i + 1}^{\mathrm{sum} ~ Y} f(i, j)$ を $998244353$ で割った余りを求めてください。

入力

  • $1 \leq X \leq 2 \times 10^5$
  • $1 \leq Y_i \leq 10^9$
  • 入力で与えられる値はすべて整数

入力

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

$X$
$Y_1$ $Y_2$ $\cdots$ $Y_X$

出力

$\displaystyle \sum_{i = 0}^{\mathrm{sum} ~ Y} \sum_{j = i + 1}^{\mathrm{sum} ~ Y} f(i, j)$ を $998244353$ で割った余りを出力してください。

サンプル

サンプル1
入力
4
3 1 4 1
出力
134

腕の本数 $4$ 、腕の長さ $(3, 1, 4, 1)$ の岩井ツリーグラフは次のようになっています。


この岩井ツリーグラフにおける $\displaystyle \sum_{i = 0}^{\mathrm{sum} ~ Y} \sum_{j = i + 1}^{\mathrm{sum} ~ Y} f(i, j)$ の値は $134$ です。

サンプル2
入力
9
9 9 8 2 4 4 3 5 3
出力
7526
サンプル3
入力
5
1000000000 1000000000 1000000000 1000000000 1000000000
出力
742397401

$998244353$ で割った余りを求めることに注意してください。

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