結果
問題 | No.2977 Kth Xor Pair |
ユーザー | むつある |
提出日時 | 2024-12-01 02:18:48 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 847 bytes |
コンパイル時間 | 379 ms |
コンパイル使用メモリ | 82,272 KB |
実行使用メモリ | 489,740 KB |
最終ジャッジ日時 | 2024-12-01 02:19:22 |
合計ジャッジ時間 | 34,223 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 41 ms
52,276 KB |
testcase_01 | AC | 43 ms
53,852 KB |
testcase_02 | AC | 85 ms
76,624 KB |
testcase_03 | AC | 81 ms
76,004 KB |
testcase_04 | AC | 94 ms
76,716 KB |
testcase_05 | AC | 93 ms
76,456 KB |
testcase_06 | AC | 99 ms
76,460 KB |
testcase_07 | AC | 511 ms
196,484 KB |
testcase_08 | AC | 934 ms
288,184 KB |
testcase_09 | AC | 797 ms
286,780 KB |
testcase_10 | AC | 822 ms
296,992 KB |
testcase_11 | AC | 871 ms
298,696 KB |
testcase_12 | AC | 850 ms
293,084 KB |
testcase_13 | AC | 893 ms
294,924 KB |
testcase_14 | AC | 504 ms
194,976 KB |
testcase_15 | AC | 746 ms
273,604 KB |
testcase_16 | AC | 890 ms
294,948 KB |
testcase_17 | AC | 936 ms
293,468 KB |
testcase_18 | AC | 932 ms
296,640 KB |
testcase_19 | AC | 918 ms
295,596 KB |
testcase_20 | AC | 896 ms
296,760 KB |
testcase_21 | AC | 903 ms
295,876 KB |
testcase_22 | TLE | - |
testcase_23 | TLE | - |
testcase_24 | TLE | - |
testcase_25 | AC | 906 ms
303,528 KB |
testcase_26 | TLE | - |
testcase_27 | AC | 600 ms
258,620 KB |
testcase_28 | AC | 455 ms
260,772 KB |
testcase_29 | AC | 497 ms
258,480 KB |
testcase_30 | AC | 583 ms
258,852 KB |
testcase_31 | AC | 534 ms
258,476 KB |
testcase_32 | AC | 549 ms
260,152 KB |
testcase_33 | AC | 499 ms
258,456 KB |
testcase_34 | AC | 568 ms
258,360 KB |
testcase_35 | AC | 522 ms
258,356 KB |
ソースコード
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 for x,y in now: now_xx=[[],[]] now_yy=[[],[]] for v in x: now_xx[bool(v&1<<i)].append(v) for v in y: now_yy[bool(v&1<<i)].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])