結果
問題 |
No.1896 Arrays and XOR Procedure 2
|
ユーザー |
|
提出日時 | 2022-04-09 00:42:00 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 888 bytes |
コンパイル時間 | 211 ms |
コンパイル使用メモリ | 82,444 KB |
実行使用メモリ | 77,576 KB |
最終ジャッジ日時 | 2024-11-28 16:11:43 |
合計ジャッジ時間 | 5,873 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 WA * 2 |
other | AC * 9 WA * 18 |
ソースコード
N=int(input()) A=list(map(int,input().split())) B=list(map(int,input().split())) def max_ind(X): M=X[0] ind=0 for i in range(1,len(X)): if M<X[i]: M,ind=X[i],ind return M,ind max_A,ind_A = max_ind(A) max_B,ind_B = max_ind(B) def len_bit(N): val=1 count=0 while(val<=N): val*=2 count+=1 return count ans=[] if len_bit(max_A)<len_bit(max_B): max_A^=max_B A[ind_A]^=max_B ans.append((1,ind_A,ind_B)) if len_bit(max_A)>len_bit(B[0]): ans.append((2,ind_A,0)) B[0]^=max_A bit_b=len_bit(B[0]) for i in range(N-1): if len_bit(A[i])==bit_b: ans.append((1,i,0)) if len_bit(A[N-1])<bit_b: ans.append((1,N,0)) A[N-1]^=bit_b max_A=A[N-1] for i in range(1,N): if B[i]<max_A: ans.append((2,N-1,i)) ans.append((1,N-1,0)) print(len(ans)) for t,p,q in ans: print(t,p+1,q+1)