結果

問題 No.2261 Coffee
ユーザー SPD_9X2
提出日時 2023-04-07 22:14:28
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,413 ms / 2,000 ms
コード長 871 bytes
コンパイル時間 202 ms
コンパイル使用メモリ 82,328 KB
実行使用メモリ 100,288 KB
最終ジャッジ日時 2024-10-02 19:44:00
合計ジャッジ時間 30,847 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 42
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
from sys import stdin

inf = float("inf")

N = int(stdin.readline())

bits = [ [(inf,inf)] * (2**5) for i in range(2) ]

points = []

for i in range(N):

    A = list(map(int,stdin.readline().split()))
    points.append(A)
    
    for j in range(2**5):

        x = 0

        for k in range(5):

            if 2**k & j:
                x += A[k]
            else:
                x -= A[k]

        tup = (x,i)

        if bits[0][j] > tup:
            bits[1][j] = bits[0][j]
            bits[0][j] = tup
        elif bits[1][j] > tup:
            bits[1][j] = tup
        #bits[j] = min(bits[j] , (x , i) )

ans = [-inf] * N

#print (bits)

for i in range(N):

    for _,j in bits[0]+bits[1]:

        now = 0

        for k in range(5):

            now += abs(points[i][k] - points[j][k])
    
        ans[i] = max(ans[i] , now)

print (*ans,sep="\n")
0