Submission #69631599
Source Code Expand
def f(A, M, k): if k == 0: return 0 B = [[], []] for i in A: B[(i >> (k - 1)) & 1].append(i & ~(1 << (k - 1))) mid = 1 << (k - 1) if M == 1 << k: if B[0] and B[1]: return f(B[0], mid, k - 1) + f(B[1], mid, k - 1) return 2 * f(A, mid, k - 1) + mid * mid ans = f(B[0], min(M, mid), k - 1) if B[0] else f(A, min(M, mid), k - 1) + mid * min(M, mid) if M > mid: ans += f(B[1], M - mid, k - 1) if B[1] else f(A, M - mid, k - 1) + mid * (M - mid) return ans N, M = map(int,input().split()) A = list(map(int,input().split())) print(f(A, M, 30))
Submission Info
Submission Time | |
---|---|
Task | G - Sum of Min of XOR |
User | sounansya |
Language | Python (PyPy 3.10-v7.3.12) |
Score | 575 |
Code Size | 639 Byte |
Status | AC |
Exec Time | 461 ms |
Memory | 142272 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 575 / 575 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_handmade_00.txt, 01_handmade_01.txt, 01_handmade_02.txt, 01_handmade_03.txt, 01_handmade_04.txt, 01_handmade_05.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 02_random_10.txt, 02_random_11.txt, 02_random_12.txt, 02_random_13.txt, 02_random_14.txt, 02_random_15.txt, 02_random_16.txt, 02_random_17.txt, 02_random_18.txt, 02_random_19.txt, 02_random_20.txt, 02_random_21.txt, 02_random_22.txt, 02_random_23.txt, 02_random_24.txt, 02_random_25.txt, 02_random_26.txt, 02_random_27.txt, 02_random_28.txt, 02_random_29.txt, 02_random_30.txt, 02_random_31.txt, 02_random_32.txt, 02_random_33.txt, 02_random_34.txt, 02_random_35.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 55 ms | 76560 KiB |
00_sample_01.txt | AC | 55 ms | 76396 KiB |
00_sample_02.txt | AC | 56 ms | 76492 KiB |
01_handmade_00.txt | AC | 55 ms | 76380 KiB |
01_handmade_01.txt | AC | 54 ms | 76492 KiB |
01_handmade_02.txt | AC | 55 ms | 76528 KiB |
01_handmade_03.txt | AC | 55 ms | 76364 KiB |
01_handmade_04.txt | AC | 58 ms | 81456 KiB |
01_handmade_05.txt | AC | 274 ms | 142192 KiB |
02_random_00.txt | AC | 227 ms | 128064 KiB |
02_random_01.txt | AC | 260 ms | 127856 KiB |
02_random_02.txt | AC | 186 ms | 128128 KiB |
02_random_03.txt | AC | 194 ms | 127848 KiB |
02_random_04.txt | AC | 168 ms | 128156 KiB |
02_random_05.txt | AC | 104 ms | 101332 KiB |
02_random_06.txt | AC | 138 ms | 94588 KiB |
02_random_07.txt | AC | 213 ms | 111280 KiB |
02_random_08.txt | AC | 197 ms | 115120 KiB |
02_random_09.txt | AC | 180 ms | 122296 KiB |
02_random_10.txt | AC | 312 ms | 127940 KiB |
02_random_11.txt | AC | 319 ms | 127868 KiB |
02_random_12.txt | AC | 313 ms | 128384 KiB |
02_random_13.txt | AC | 302 ms | 128156 KiB |
02_random_14.txt | AC | 304 ms | 127876 KiB |
02_random_15.txt | AC | 150 ms | 93664 KiB |
02_random_16.txt | AC | 300 ms | 131816 KiB |
02_random_17.txt | AC | 280 ms | 126040 KiB |
02_random_18.txt | AC | 176 ms | 101180 KiB |
02_random_19.txt | AC | 299 ms | 132652 KiB |
02_random_20.txt | AC | 145 ms | 131384 KiB |
02_random_21.txt | AC | 148 ms | 127344 KiB |
02_random_22.txt | AC | 114 ms | 128176 KiB |
02_random_23.txt | AC | 131 ms | 127172 KiB |
02_random_24.txt | AC | 130 ms | 127248 KiB |
02_random_25.txt | AC | 113 ms | 128060 KiB |
02_random_26.txt | AC | 129 ms | 128036 KiB |
02_random_27.txt | AC | 179 ms | 128156 KiB |
02_random_28.txt | AC | 157 ms | 127956 KiB |
02_random_29.txt | AC | 156 ms | 128056 KiB |
02_random_30.txt | AC | 461 ms | 141956 KiB |
02_random_31.txt | AC | 274 ms | 142272 KiB |
02_random_32.txt | AC | 297 ms | 142056 KiB |
02_random_33.txt | AC | 262 ms | 131900 KiB |
02_random_34.txt | AC | 178 ms | 132416 KiB |
02_random_35.txt | AC | 190 ms | 132168 KiB |