結果

問題 No.2977 Kth Xor Pair
ユーザー むつあるむつある
提出日時 2024-12-01 02:57:41
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 841 bytes
コンパイル時間 254 ms
コンパイル使用メモリ 82,388 KB
実行使用メモリ 605,172 KB
最終ジャッジ日時 2024-12-01 02:58:18
合計ジャッジ時間 36,279 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 40 ms
52,016 KB
testcase_01 AC 42 ms
52,828 KB
testcase_02 AC 88 ms
75,948 KB
testcase_03 AC 85 ms
75,940 KB
testcase_04 AC 93 ms
76,076 KB
testcase_05 AC 97 ms
76,108 KB
testcase_06 AC 100 ms
76,424 KB
testcase_07 AC 580 ms
225,060 KB
testcase_08 AC 995 ms
290,624 KB
testcase_09 AC 893 ms
296,744 KB
testcase_10 AC 897 ms
297,736 KB
testcase_11 AC 902 ms
305,148 KB
testcase_12 AC 896 ms
296,072 KB
testcase_13 AC 947 ms
291,384 KB
testcase_14 AC 557 ms
224,548 KB
testcase_15 AC 852 ms
293,364 KB
testcase_16 AC 985 ms
312,476 KB
testcase_17 AC 970 ms
310,544 KB
testcase_18 AC 981 ms
310,792 KB
testcase_19 AC 1,001 ms
295,052 KB
testcase_20 AC 1,007 ms
295,012 KB
testcase_21 AC 1,013 ms
297,224 KB
testcase_22 TLE -
testcase_23 TLE -
testcase_24 TLE -
testcase_25 AC 991 ms
292,768 KB
testcase_26 TLE -
testcase_27 AC 628 ms
258,496 KB
testcase_28 AC 421 ms
259,912 KB
testcase_29 AC 473 ms
258,504 KB
testcase_30 AC 525 ms
258,508 KB
testcase_31 AC 505 ms
258,624 KB
testcase_32 AC 520 ms
259,468 KB
testcase_33 AC 470 ms
258,356 KB
testcase_34 AC 493 ms
258,116 KB
testcase_35 AC 493 ms
258,508 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

n,k=map(int,input().split())
k*=2
k+=n
a=list(map(int,input().split()))

now=[[a,a]]

ans=0
cnt=0

for i in range(30)[::-1]:
  xx=[]
  yy=[]
  c=0
  p=1<<i
  now1=[]
  now2=[]
  for x,y in now:
    now_xx=[[],[]]
    now_yy=[[],[]]
    for v in x:
      now_xx[bool(v&p)].append(v)
    for v in y:
      now_yy[bool(v&p)].append(v)
    xx.append(now_xx)
    yy.append(now_yy)
    if now_xx[0] and now_yy[0]:
      now1.append([now_xx[0],now_yy[0]])
    if now_xx[1] and now_yy[1]:
      now1.append([now_xx[1],now_yy[1]])
    if now_xx[0] and now_yy[1]:
      now2.append([now_xx[0],now_yy[1]])
    if now_xx[1] and now_yy[0]:
      now2.append([now_xx[1],now_yy[0]])
    c+=len(now_xx[0])*len(now_yy[0])+len(now_xx[1])*len(now_yy[1])
  now=[]
  if cnt+c>=k:
    now=now1
  else:
    cnt+=c
    now=now2
    
print(now[0][0][0]^now[0][1][0])
0