結果
| 問題 |
No.2436 Min Diff Distance
|
| コンテスト | |
| ユーザー |
gew1fw
|
| 提出日時 | 2025-06-12 21:32:02 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,449 bytes |
| コンパイル時間 | 168 ms |
| コンパイル使用メモリ | 82,272 KB |
| 実行使用メモリ | 53,304 KB |
| 最終ジャッジ日時 | 2025-06-12 21:33:07 |
| 合計ジャッジ時間 | 4,639 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 3 TLE * 1 -- * 19 |
ソースコード
import sys
def main():
N = int(sys.stdin.readline())
points = []
a = []
b = []
for _ in range(N):
x, y = map(int, sys.stdin.readline().split())
points.append((x, y))
a.append(x + y)
b.append(x - y)
max_a = max(a)
min_a = min(a)
max_b = max(b)
min_b = min(b)
# Precompute for each i the max_d
max_d_list = []
for i in range(N):
ai = a[i]
bi = b[i]
d1 = max_a - ai
d2 = ai - min_a
d3 = max_b - bi
d4 = bi - min_b
max_d = max(d1, d2, d3, d4)
max_d_list.append(max_d)
# Compute min_d for each i (this part is not correct and needs to be addressed)
# Placeholder approach, not correct
min_d_list = []
for i in range(N):
ai = a[i]
bi = b[i]
min_val = float('inf')
# This loop is O(N^2), which is not feasible for large N
for j in range(N):
if i == j:
continue
aj = a[j]
bj = b[j]
current_max = max(abs(ai - aj), abs(bi - bj))
if current_max < min_val:
min_val = current_max
min_d_list.append(min_val)
# Compute P_i and find the minimal
min_p = float('inf')
for i in range(N):
p = max_d_list[i] - min_d_list[i]
if p < min_p:
min_p = p
print(min_p)
if __name__ == "__main__":
main()
gew1fw