結果

問題 No.1998 Manhattan Restaurant
ユーザー rin204
提出日時 2022-07-01 22:31:15
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,081 bytes
コンパイル時間 406 ms
コンパイル使用メモリ 82,560 KB
実行使用メモリ 86,748 KB
最終ジャッジ日時 2024-11-26 05:53:12
合計ジャッジ時間 8,564 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 10 WA * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

n = int(input())
if n <= 2:
    print(0)
    exit()
xy = []
for _ in range(n):
    x, y = map(int, input().split())
    xy.append((x + y, x - y))
xy.sort()
inf = 1 << 40
mi_y = inf
ma_y = -inf
X = [0] * (n - 1)
for i in range(n - 1):
    mi_y = min(mi_y, xy[i][1])
    ma_y = max(ma_y, xy[i][1])
    dy = (ma_y - mi_y)
    dx = xy[i][0] - xy[0][0]
    X[i] = max(dx, dy)

mi_y = inf
ma_y = -inf
for i in range(n - 1, 0, -1):
    mi_y = min(mi_y, xy[i][1])
    ma_y = max(ma_y, xy[i][1])
    dy = (ma_y - mi_y)
    dx = xy[-1][0] - xy[i][0]
    X[i - 1] = max(X[i - 1], dx, dy)
ans = min(X)

xy.sort(key=lambda x:x[1])
inf = 1 << 40
mi_y = inf
ma_y = -inf
X = [0] * (n - 1)
for i in range(n - 1):
    mi_y = min(mi_y, xy[i][0])
    ma_y = max(ma_y, xy[i][0])
    dy = (ma_y - mi_y)
    dx = xy[i][1] - xy[0][1]
    X[i] = max(dx, dy)

mi_y = inf
ma_y = -inf
for i in range(n - 1, 0, -1):
    mi_y = min(mi_y, xy[i][0])
    ma_y = max(ma_y, xy[i][0])
    dy = (ma_y - mi_y)
    dx = xy[-1][1] - xy[i][1]
    X[i - 1] = max(X[i - 1], dx, dy)

ans = min(ans, *X)
print(ans // 2)


    
0