結果
| 問題 | 
                            No.2977 Kth Xor Pair
                             | 
                    
| コンテスト | |
| ユーザー | 
                            👑  | 
                    
| 提出日時 | 2024-11-25 07:45:11 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 667 bytes | 
| コンパイル時間 | 383 ms | 
| コンパイル使用メモリ | 82,324 KB | 
| 実行使用メモリ | 458,944 KB | 
| 最終ジャッジ日時 | 2024-11-30 23:35:25 | 
| 合計ジャッジ時間 | 41,427 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 30 TLE * 4 | 
ソースコード
R=range J=lambda:map(int,input().split()) N,K=J() A=sorted(bin(n|1<<30)[3:]for n in J())+["1"*30] B=[[0]for d in R(30)] for d in R(30): for i in R(N+1):B[d]+=[B[d][-1]+(A[i][d]>'0')] 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: i,k=l-1,r while i+1<k: j=(i+k)>>1 if B[d][l]<B[d][j+1]:k=j else:i=j s+=[[[l,k],[k,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])*D(s[1][f])*(v[0]!=v[1]or e<=f)>0: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)