No.3553 Good Quartet
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 1024 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 28
作問者 :
ぽえ
/ テスター :
ルク
👑
loop0919
mitani
lif4635
hiro1729
タグ : / 解いたユーザー数 28
作問者 :
ぽえ
/ テスター :
mitani
問題文最終更新日: 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もしくは右上の雲マークをクリックしてアカウントを作成してください。