結果

問題 No.2977 Kth Xor Pair
ユーザー むつあるむつある
提出日時 2024-12-01 02:21:02
言語 PyPy3
(7.3.15)
結果
MLE  
実行時間 -
コード長 850 bytes
コンパイル時間 246 ms
コンパイル使用メモリ 82,088 KB
実行使用メモリ 566,400 KB
最終ジャッジ日時 2024-12-01 02:21:36
合計ジャッジ時間 30,429 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 40 ms
53,008 KB
testcase_01 AC 39 ms
53,656 KB
testcase_02 AC 75 ms
76,252 KB
testcase_03 AC 83 ms
76,088 KB
testcase_04 AC 88 ms
76,036 KB
testcase_05 AC 86 ms
76,708 KB
testcase_06 AC 87 ms
76,024 KB
testcase_07 AC 456 ms
195,856 KB
testcase_08 AC 851 ms
288,076 KB
testcase_09 AC 732 ms
293,284 KB
testcase_10 AC 768 ms
296,324 KB
testcase_11 AC 772 ms
296,276 KB
testcase_12 AC 733 ms
291,148 KB
testcase_13 AC 818 ms
294,052 KB
testcase_14 AC 441 ms
194,964 KB
testcase_15 AC 701 ms
273,624 KB
testcase_16 AC 793 ms
294,588 KB
testcase_17 AC 792 ms
293,956 KB
testcase_18 AC 816 ms
297,028 KB
testcase_19 AC 806 ms
296,488 KB
testcase_20 AC 814 ms
296,892 KB
testcase_21 AC 816 ms
296,616 KB
testcase_22 MLE -
testcase_23 MLE -
testcase_24 AC 2,916 ms
486,232 KB
testcase_25 AC 782 ms
299,832 KB
testcase_26 AC 2,925 ms
485,896 KB
testcase_27 AC 542 ms
258,456 KB
testcase_28 AC 398 ms
260,120 KB
testcase_29 AC 438 ms
258,488 KB
testcase_30 AC 508 ms
258,352 KB
testcase_31 AC 480 ms
258,220 KB
testcase_32 AC 464 ms
259,488 KB
testcase_33 AC 440 ms
258,228 KB
testcase_34 AC 479 ms
258,220 KB
testcase_35 AC 494 ms
258,712 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

n,k=map(int,input().split())
k*=2
k+=n-1
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
  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)
    c+=len(now_xx[0])*len(now_yy[0])+len(now_xx[1])*len(now_yy[1])
  now=[]
  if cnt+c>k:
    for v in range(len(xx)):
      if xx[v][0] and yy[v][0]:
        now.append([xx[v][0],yy[v][0]])
      if xx[v][1] and yy[v][1]:
        now.append([xx[v][1],yy[v][1]])
  else:
    cnt+=c
    for v in range(len(xx)):
      if xx[v][0] and yy[v][1]:
        now.append([xx[v][0],yy[v][1]])
      if xx[v][1] and yy[v][0]:
        now.append([xx[v][1],yy[v][0]])
    
print(now[0][0][0]^now[0][1][0])
0