結果
問題 | No.2656 XOR Slimes |
ユーザー | ああいい |
提出日時 | 2024-03-02 00:18:04 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,995 ms / 2,000 ms |
コード長 | 578 bytes |
コンパイル時間 | 503 ms |
コンパイル使用メモリ | 82,548 KB |
実行使用メモリ | 117,160 KB |
最終ジャッジ日時 | 2024-09-29 15:40:15 |
合計ジャッジ時間 | 68,575 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 55 |
ソースコード
N = int(input()) X = list(map(int,input().split())) A = list(map(int,input().split())) from collections import defaultdict inf = 10 ** 20 d = defaultdict(lambda : inf) d[A[0]] = A[0] for i in range(N - 1): x = X[i] xx = X[i + 1] a = A[i + 1] nx = defaultdict(lambda : inf) b = A[i] for aa in d: u = d[aa] nx[aa ^ a] = min(nx[aa ^ a],u - aa + (aa ^ a) + xx - x) #print(u,aa,aa^a,xx,x,nx) nx[a] = min(nx[a],u + a) d = nx #print(d) ans = inf for k in d.values(): if k < ans:ans = k print(ans)