Submission #24215199


Source Code Expand

def init(i):
    return X[i]
def merge(s, x, y):
    return max(s, x + y)
def fin(i, s):
    return s

n = int(input())
A = [[int(a) for a in input().split()] for _ in range(n)]
X = [0] * (1 << n)
for i in range(1, 1 << n):
    L = []
    for j in range(n):
        if i >> j & 1:
            L.append(j)
    s = 0
    for j, a in enumerate(L):
        for k in range(j):
            b = L[k]
            s += A[a][b]
    X[i] = s
    
Y = [0] * (1 << n)
for i in range(1, 1 << n):
    j = (i - 1) & i
    s = init(i)
    while j:
        s = merge(s, X[i^j], Y[j])
        j = (j - 1) & i
    
    Y[i] = fin(i, s)
    
print(Y[-1])

Submission Info

Submission Time
Task U - Grouping
User Kiri8128
Language PyPy3 (7.3.0)
Score 100
Code Size 665 Byte
Status AC
Exec Time 444 ms
Memory 69912 KiB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 24
Set Name Test Cases
All 0_00, 0_01, 0_02, 0_03, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11, 1_12, 1_13, 1_14, 1_15, 1_16, 1_17, 1_18, 1_19
Case Name Status Exec Time Memory
0_00 AC 62 ms 61824 KiB
0_01 AC 51 ms 62068 KiB
0_02 AC 50 ms 62208 KiB
0_03 AC 224 ms 69808 KiB
1_00 AC 51 ms 62072 KiB
1_01 AC 218 ms 69780 KiB
1_02 AC 216 ms 69892 KiB
1_03 AC 216 ms 69576 KiB
1_04 AC 222 ms 69856 KiB
1_05 AC 224 ms 69832 KiB
1_06 AC 223 ms 69704 KiB
1_07 AC 226 ms 69468 KiB
1_08 AC 223 ms 69544 KiB
1_09 AC 222 ms 69552 KiB
1_10 AC 221 ms 69568 KiB
1_11 AC 221 ms 69792 KiB
1_12 AC 444 ms 69840 KiB
1_13 AC 224 ms 69792 KiB
1_14 AC 223 ms 69360 KiB
1_15 AC 439 ms 69580 KiB
1_16 AC 223 ms 69792 KiB
1_17 AC 222 ms 69372 KiB
1_18 AC 439 ms 69860 KiB
1_19 AC 224 ms 69912 KiB