結果

問題 No.2436 Min Diff Distance
ユーザー gew1fw
提出日時 2025-06-12 21:16:24
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 1,075 bytes
コンパイル時間 192 ms
コンパイル使用メモリ 81,724 KB
実行使用メモリ 135,356 KB
最終ジャッジ日時 2025-06-12 21:17:14
合計ジャッジ時間 4,265 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 3 TLE * 1 -- * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys

def main():
    input = sys.stdin.read
    data = input().split()
    n = int(data[0])
    points = []
    for i in range(n):
        x = int(data[1 + 2*i])
        y = int(data[2 + 2*i])
        points.append((x, y))
    
    a = [x + y for x, y in points]
    b = [x - y for x, y in points]
    
    max_a = max(a)
    min_a = min(a)
    max_b = max(b)
    min_b = min(b)
    
    min_p = float('inf')
    
    for i in range(n):
        ai = a[i]
        bi = b[i]
        d1 = abs(max_a - ai)
        d2 = abs(ai - min_a)
        d3 = abs(max_b - bi)
        d4 = abs(bi - min_b)
        max_d = max(d1, d2, d3, d4)
        min_d = 0
        for j in range(n):
            if i == j:
                continue
            dx = abs(points[i][0] - points[j][0])
            dy = abs(points[i][1] - points[j][1])
            current_d = dx + dy
            if current_d < min_d or min_d == 0:
                min_d = current_d
        p_i = abs(max_d - min_d)
        if p_i < min_p:
            min_p = p_i
    print(min_p)

if __name__ == '__main__':
    main()
0