結果

問題 No.2977 Kth Xor Pair
コンテスト
ユーザー 👑 p-adic
提出日時 2024-11-25 07:48:03
言語 PyPy3
(8.0.0 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 2,317 ms / 3,000 ms
+ 917µs
コード長 558 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 80 ms
コンパイル使用メモリ 64,544 KB
実行使用メモリ 301,888 KB
最終ジャッジ日時 2026-10-21 03:43:55
合計ジャッジ時間 27,544 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 36
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

R=range
J=lambda:map(int,input().split())
N,K=J()
A=sorted(bin(n|1<<30)[3:]for n in J())
M=N*(N-1)>>1
p=[[[0,N],[0,N]]]
a=0
def D(v):return v[1]-v[0]
for d in R(30):
	m,q=0,[[],[]]
	for v in p:
		s=[]
		for l,r in v:
			for i in R(l,r):
				if A[i][d]>'0':s+=[[[l,i],[i,r]]];break
			else:s+=[[[l,r],[r,r]]]
		m+=D(s[0][0])*D(s[1][1])+(v[0]!=v[1])*D(s[1][0])*D(s[0][1])
		for e in R(2):
			for f in R(2):
				if D(s[0][e])and D(s[1][f])and(v[0]!=v[1]or e<=f):q[e!=f]+=[[s[0][e],s[1][f]]]
	if M<K+m:a,K,M,p=a*2|1,K-M+m,m,q[1]
	else:a,M,p=a*2,M-m,q[0]
print(a)
0