結果

問題 No.2895 Zero XOR Subset
ユーザー sasa8uyauya
提出日時 2024-09-20 23:30:54
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 111 ms / 2,000 ms
コード長 437 bytes
コンパイル時間 264 ms
コンパイル使用メモリ 82,436 KB
実行使用メモリ 106,736 KB
最終ジャッジ日時 2024-09-20 23:30:59
合計ジャッジ時間 4,744 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 35
権限があれば一括ダウンロードができます

ソースコード

diff #

n=min(int(input()),61)
a=list(map(int,input().split()))[:n]
u=[0]*n
for i in range(n):
  u[i]|=1<<i
r=0
y=0
while r<n and y<60:
  for i in range(r,n):
    if (a[i]>>y)&1:
      a[r],a[i]=a[i],a[r]
      u[r],u[i]=u[i],u[r]
      for j in range(n):
        if j!=r and (a[j]>>y)&1:
          a[j]^=a[r]
          u[j]^=u[r]
      r+=1
  y+=1
if r<n:
  a=[i+1 for i in range(n) if (u[r]>>i)&1]
  print(len(a))
  print(*a)
else:
  print(-1)
0