結果

問題 No.2024 Xer
ユーザー jakujaku12jakujaku12
提出日時 2022-07-29 23:27:11
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,420 bytes
コンパイル時間 239 ms
コンパイル使用メモリ 82,304 KB
実行使用メモリ 124,536 KB
最終ジャッジ日時 2024-07-19 17:00:15
合計ジャッジ時間 7,899 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 44 ms
52,480 KB
testcase_01 AC 43 ms
52,608 KB
testcase_02 AC 44 ms
52,736 KB
testcase_03 AC 44 ms
52,608 KB
testcase_04 AC 43 ms
52,608 KB
testcase_05 AC 44 ms
52,480 KB
testcase_06 AC 44 ms
52,480 KB
testcase_07 AC 341 ms
109,440 KB
testcase_08 AC 320 ms
119,884 KB
testcase_09 AC 235 ms
124,536 KB
testcase_10 AC 320 ms
119,752 KB
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 AC 134 ms
94,464 KB
testcase_18 WA -
testcase_19 WA -
testcase_20 AC 159 ms
103,040 KB
testcase_21 AC 227 ms
121,508 KB
testcase_22 AC 226 ms
121,000 KB
testcase_23 AC 225 ms
120,744 KB
testcase_24 AC 225 ms
120,876 KB
testcase_25 AC 53 ms
60,160 KB
testcase_26 AC 71 ms
68,096 KB
testcase_27 WA -
testcase_28 WA -
testcase_29 AC 58 ms
62,720 KB
testcase_30 AC 72 ms
68,864 KB
testcase_31 AC 79 ms
71,680 KB
testcase_32 WA -
testcase_33 AC 72 ms
67,712 KB
testcase_34 AC 50 ms
58,496 KB
testcase_35 AC 45 ms
52,608 KB
testcase_36 AC 72 ms
68,480 KB
testcase_37 AC 75 ms
69,760 KB
testcase_38 AC 73 ms
69,888 KB
testcase_39 WA -
testcase_40 WA -
testcase_41 WA -
testcase_42 AC 70 ms
67,584 KB
testcase_43 WA -
testcase_44 WA -
testcase_45 AC 172 ms
103,296 KB
testcase_46 AC 95 ms
82,944 KB
testcase_47 AC 145 ms
96,512 KB
testcase_48 AC 43 ms
52,608 KB
testcase_49 WA -
testcase_50 AC 44 ms
52,608 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

from heapq import heapify, heappop


N,X=map(int,input().split())
A=list(map(int,input().split()))
A.sort()
B=[a^X for a in A]
if min(A)>min(B):
    A=sorted(B)
    B=[a^X for a in A]
    BB=[(a^X,i) for i,a in enumerate(A)]
else:
    BB=[(b,i) for i,b in enumerate(B)]
# print(A)
# print(B)
heapify(BB)
flag=[0]*N
now=1
v=A[0]
flag[0]=1
aorb=1
res=[0]
while len(res)<N:
    # print(res)
    if aorb:
        f=1
        while f and len(BB):
            # print(f)
            nex,ind=heappop(BB)
            f=flag[ind]
        if nex>v:
            v=nex
            flag[ind]=1
            res.append(ind)
            aorb=0
        else:
            print("No")
            exit()
    else:
        # print("!")
        while now<N and flag[now]:
            # print(now,now)
            now+=1
        if now==N:
            print("No")
            exit()
            break
        else:
            nex=A[now]
            if nex>v:
                v=nex
                flag[now]=1
                now+=1
                res.append(now-1)
                aorb=1
            else:
                print("No")
                exit()
# print(res)
ans=1
for i in range(N-1):
    if i%2:
        if A[res[i]]<B[res[i+1]]:
            continue
        else:
            ans=0
    else:
        if B[res[i]]<A[res[i+1]]:
            continue
        else:
            ans=0
if ans:
    print("Yes")
else:
    print("No")
0