結果
| 問題 |
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 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 30 TLE * 4 |
ソースコード
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])
むつある