結果

問題 No.1060 素敵な宝箱
ユーザー tktk_snsn
提出日時 2021-05-17 23:12:01
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,034 bytes
コンパイル時間 141 ms
コンパイル使用メモリ 82,244 KB
実行使用メモリ 78,712 KB
最終ジャッジ日時 2024-10-07 04:19:15
合計ジャッジ時間 3,812 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 2 WA * 22
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.buffer.readline
sys.setrecursionlimit(10 ** 7)

N, M = map(int, input().split())
X = [0]*M
Y = [0]*M

used = [0]*N
A = tuple(tuple(map(int, input().split())) for _ in range(N))

turn = 0
for _ in range(N):
    if turn == 0:
        tmp = []
        for i in range(N):
            if used[i]:
                continue
            s = 0
            for j, a in enumerate(A[i]):
                s += a * a + 2 * X[j] * a
            tmp.append((s, i))
        tmp.sort()
        i = tmp[-1][1]
        used[i] = 1
        for j, a in enumerate(A[i]):
            X[j] += a
    else:
        tmp = []
        for i in range(N):
            if used[i]:
                continue
            s = 0
            for j, a in enumerate(A[i]):
                s += a * a + 2 * Y[j] * a
            tmp.append((s, i))
        tmp.sort()
        i = tmp[-1][1]
        used[i] = 1
        for j, a in enumerate(A[i]):
            Y[j] += a
    turn = 1 - turn

ans = sum(x*x for x in X) - sum(y*y for y in Y)
print(ans)
0