問題一覧 > 通常問題

No.3553 Good Quartet

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 1024 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 28
作問者 : ぽえ / テスター : ルク 👑 loop0919 mitani lif4635 hiro1729
ProblemId : 13329 / yukicoder contest 500 (順位表) / 自分の提出
問題文最終更新日: 2026-05-22 22:04:20
yukicoder contest 500の他の問題:

問題文

要素数 $4$ の正整数からなる集合 $A = \{a_1, a_2, a_3, a_4\}$ に対して、次の条件を満たすとき 良い集合 と定義する。

  • $1 \le i < j \le 4$ である整数の組$(i, j)$ のうち $a_1+a_2+a_3+a_4$ が $ a_i+a_j$ の倍数となるものがちょうど $\bm{\color{red}{4}}$ である。

要素数 $N$ の正整数からなる集合 $S = \{s_1, s_2, \dots, s_N\}$ が与えられる。
$Q$ 個のクエリが与えられる。$q$ 個目のクエリは整数の組 $(t_q, x_q)$ として与えられ、その内容は以下の通りである。

  • $t_q = 1$ の場合:$S$ に $x_q$ を追加する。
  • $t_q = 2$ の場合:$S$ から $x_q$ を削除する。

クエリを処理するたびに、$S$ の部分集合であって 良い集合 であるものの個数を $998244353$ で割った余りを求めよ。

制約

  • 入力はすべて整数である。
  • $1 \le N, Q \le 2\times 10^5$
  • $1 \le s_i \le 10^9$ $(1 \le i \le N)$
  • $s_i \neq s_j$ $(1 \le i < j \le N)$
  • $t_1 \in \{1, 2\}$
  • $1 \le x_q \le 10^9$
  • $t_q = 1$ のとき、その直前で $x_q \notin S$ であることが保証される。
  • $t_q = 2$ のとき、その直前で $x_q \in S$ であることが保証される。

入力

$N$ $Q$
$s_1$ $s_2$ $\dots$ $s_N$
$t_1$ $x_1$
$t_2$ $x_2$
$\vdots$
$t_Q$ $x_Q$

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

出力

$Q$ 行出力せよ。 $q$ 行目には $q$ 個目のクエリを処理した直後における、 $S$ の部分集合であって 良い集合 であるものの個数を $998244353$ で割った余りを出力せよ。

サンプル

サンプル1
入力
20 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 23
2 20
1 21
2 5
1 22
2 19
1 5
出力
1
1
1
0
1
1
2

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