結果
問題 |
No.1896 Arrays and XOR Procedure 2
|
ユーザー |
|
提出日時 | 2022-04-08 23:19:25 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 946 bytes |
コンパイル時間 | 267 ms |
コンパイル使用メモリ | 82,456 KB |
実行使用メモリ | 74,212 KB |
最終ジャッジ日時 | 2024-11-28 14:28:49 |
合計ジャッジ時間 | 5,513 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | AC * 6 WA * 21 |
ソースコード
from itertools import count 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): ans.append("{} {} {}".format(2,ind_A+1,ind_B+1)) B[ind_B]^=max_A max_B^=max_A for i in range(N-1): if A[i]>=max_B: ans.append("{} {} {}".format(1,i+1,ind_B+1)) if len_bit(A[N-1])<len_bit(max_B): ans.append("{} {} {}".format(1,N,ind_B)) A[N-1]^=max_B max_A=A[N-1] for i in range(N): if i==ind_B: continue if B[i]<max_A: ans.append("{} {} {}".format(2,N,i+1)) ans.append("{} {} {}".format(1,N,ind_B+1)) print(len(ans)) for x in ans: print(x)