問題一覧 > 通常問題

No.2895 Zero XOR Subset

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 72
作問者 : 蜜蜂蜜蜂 / テスター : MitarushiMitarushi
3 ProblemId : 11388 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-09-19 21:52:13

問題文

長さ $N$ の非負整数列 $A = \left( A_1, A_2, \cdots, A_N \right)$ が与えられます。

以下の条件を満たす数列 $B$ が存在するかを判定し、存在する場合はその一例を示してください。ここで、 $B$ の長さを $M$ とします。

  • $1 \leq B_i \leq N$
  • $1 \leq i < j \leq M$ のとき $B_i \neq B_j$
  • $A_{B_1} \oplus A_{B_2} \oplus \cdots \oplus A_{B_M} = 0$ なお、非負整数 $x,y$ について $x \oplus y$ は $x$ と $y$ の排他的論理和とします。

入力

$N$
$A_1\ \ A_2\ \ \cdots A_N$

  • $1 \leq N \leq 2 \times 10^5$
  • $0 \leq A_i < 2^{60}$
  • 入力はすべて整数

出力

条件を満たすような $B$ が存在しない場合は -1 と出力し、改行してください。
そうでない場合、以下の形式で出力してください。

$M$
$B_1\ \ B_2\ \ \cdots B_M$
条件を満たす出力が複数ある場合、そのうちの $1$ つを出力してください。

サンプル

サンプル1
入力
4
2 0 2 4
出力
2
1 3

$A_{B_1} \oplus A_{B_2} = A_1 \oplus A_3 = 2 \oplus 2 = 0$ であるため、この出力は正当です。
他には以下のような出力も正解とみなされます。

1
2

サンプル2
入力
3
2024 20 24
出力
-1

条件を満たすような $B$ は存在しません。

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