結果

問題 No.2024 Xer
ユーザー SPD_9X2
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

"""

一般の解が解ければ強いが…
特殊な条件を活用するしかないかな

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")
0