OUPC2024 Day2 : 北海道大学セット
コンテスト日時
2025/03/16 (Su) 12:00 - 16:00

F - Blessing of Heaven

Milk
2.5
s
1024
MB
100

問題文

以下の条件のいずれかを満たす $3$ つの正整数の組 $(a, b, c)$ を良い三つ組と呼びます。

  • $a=b$ かつ $b=c$
  • $b=a+1$ かつ $c=b+1$

今、 $1$ から $N$ までの数字が書かれたカードがあり、数字 $i$ の書かれたカードは $A_i$ 枚あります。これらの $\sum\limits_{i=1}^{N}{A_i}$ 枚のカードから $9$ 枚のカードを選ぶ方法であって、以下の条件を満たすものの個数を $998244353$ で割った余りを求めてください。

  • 選ばれたカードに書かれた $9$ つの整数を $3$ つの良い三つ組に分ける方法が存在する。

ただし、$\sum\limits_{i=1}^{N}{A_i}$ 枚のカードはすべて区別がつくものとします。

制約

  • $1 \leq N \leq 5\times 10^{4}$
  • $1 \leq A_{i} \leq 10^{5}$
  • $9 \leq \sum\limits_{i=1}^{N}{A_i}$
  • 入力はすべて整数である

部分点

  • set1 $(10$ 点$)$: $N \leq 100$
  • all $(90$ 点$)$:追加の制約はない

入力

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

$N$

$A_1$ $A_2$ $\dots$ $A_N$

出力

答えを出力してください。

入力例 1
4 1 1 1 6
出力例 1
1

$\sum\limits_{i=1}^{N}{A_i} = 9$ であるため、$9$ 枚のカードを選ぶ方法は $(1, 2, 3, 4, 4, 4, 4, 4, 4)$ の $1$ 通りのみです。これは、$(1, 2, 3), (4, 4, 4), (4, 4, 4)$ の $3$ つの良い三つ組に分けることができるため、問題文中の条件を満たします。

この入力例は部分点 set1 の制約を満たします。

入力例 2
9 1 2 3 4 5 6 7 8 9
出力例 2
44824668

この入力例は部分点 set1 の制約を満たします。

提出
C++23 (g++ 12.2.0)