No.2672 Subset Xor Sum
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 138
作問者 : NokonoKotlin / テスター : Xelmeph nu50218 null ngtkana 👑 eoeo
タグ : / 解いたユーザー数 138
作問者 : NokonoKotlin / テスター : Xelmeph nu50218 null ngtkana 👑 eoeo
問題文最終更新日: 2024-03-15 21:21:48
問題文
長さ $N$ の非負整数列 $A = (A_1 , A_2 , \dots , A_N)$ が与えられます。
数列 $A$ を以下の条件を満たす $2$ つの部分列 $B = (B_1, B_2, \dots, B_M)$ と $C = (C_1, C_2, \dots, C_{N-M})$ に分割したいです。
- $1 \leq M \leq N-1$
- $B_1 \oplus B_2 \oplus \dots \oplus B_M = 0$
- $C_1 \oplus C_2 \oplus \dots \oplus C_{N-M} = 0$
ただし $\oplus$ はビットごとの排他的論理和(Bitwise XOR)です。
上記の分割が可能なら Yes
を、不可能なら No
を出力してください。
数列 $A$ を $2$ つの部分列 $B$ と $C$ に分割するとは
以下の操作のことをいいます。
- $B, C$ を空の数列とする。
- 各 $i = 1, 2, \dots, N$ について、この順に $A_i$ を $B$ の末尾または $C$ の末尾に加える。
入力
入力は以下の形式で標準入力から与えられます。
$N$ $A_1$ $A_2$ $\dots$ $A_N$
出力
上記の分割が可能なら Yes
を、不可能なら No
を出力し、改行してください。
制約
- 入力はすべて整数
- $2 \leq N \leq 5 \times 10^5$
- $0 \leq A_i \leq 5000$
サンプル
サンプル1
入力
6 1 12 4 3 2 8
出力
Yes
たとえば $B = (12 , 4 , 8), C = (1, 3, 2)$ と分割すると、上記の条件を満たします。
サンプル2
入力
4 1 3 8 10
出力
No
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。