結果

問題 No.698 ペアでチームを作ろう
ユーザー Nikkuniku029Nikkuniku029
提出日時 2022-05-14 17:48:36
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
AC  
実行時間 368 ms / 1,000 ms
コード長 393 bytes
コンパイル時間 95 ms
コンパイル使用メモリ 10,688 KB
実行使用メモリ 8,768 KB
最終ジャッジ日時 2023-09-30 09:41:20
合計ジャッジ時間 4,892 ms
ジャッジサーバーID
(参考情報)
judge12 / judge13
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 16 ms
7,968 KB
testcase_01 AC 16 ms
7,860 KB
testcase_02 AC 27 ms
7,984 KB
testcase_03 AC 16 ms
7,932 KB
testcase_04 AC 77 ms
8,364 KB
testcase_05 AC 315 ms
8,176 KB
testcase_06 AC 324 ms
8,292 KB
testcase_07 AC 343 ms
8,744 KB
testcase_08 AC 350 ms
8,752 KB
testcase_09 AC 354 ms
8,756 KB
testcase_10 AC 348 ms
8,756 KB
testcase_11 AC 348 ms
8,652 KB
testcase_12 AC 341 ms
8,616 KB
testcase_13 AC 349 ms
8,708 KB
testcase_14 AC 368 ms
8,768 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

n = int(input())
a = list(map(int, input().split()))
S = 1 << n

dp = [0]*S
for s in range(S):
    for u in range(n):
        if s >> u & 1:
            continue
        for v in range(u+1, n):
            if s >> v & 1:
                continue
            if dp[s | (1 << u) | (1 << v)] < dp[s]+(a[u] ^ a[v]):
                dp[s | (1 << u) | (1 << v)] = dp[s]+(a[u] ^ a[v])
print(dp[S-1])
0