結果
問題 | No.2024 Xer |
ユーザー |
![]() |
提出日時 | 2022-07-29 22:25:01 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 688 ms / 2,000 ms |
コード長 | 848 bytes |
コンパイル時間 | 839 ms |
コンパイル使用メモリ | 82,036 KB |
実行使用メモリ | 133,176 KB |
最終ジャッジ日時 | 2024-07-19 15:31:35 |
合計ジャッジ時間 | 12,491 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 47 |
ソースコード
""" 一般の解が解ければ強いが… 特殊な条件を活用するしかないかな a b a^X b^X で、斜めに見たときに、右が大きい必要がある さて… Xの一番上のbitに注目する。 それ以上の桁に関しては、もはや昇順じゃないとダメ 一番上のbitは、交互じゃないとダメ minが最少のやつから見ていくしかない? かも """ import sys from sys import stdin N,X = map(int,stdin.readline().split()) A = list(map(int,stdin.readline().split())) lis = [ ] for i in range(N): a,b = A[i],A[i] ^ X tup = (min(a,b) , max(a,b) , a, b) lis.append(tup) lis.sort() ans = True la = -1 lb = -1 for l,r,a,b in lis: if not (la < b and lb < a): ans = False break la,lb = a,b if ans: print ("Yes") else: print ("No")