結果
問題 |
No.2436 Min Diff Distance
|
ユーザー |
![]() |
提出日時 | 2025-06-12 16:23:34 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,449 bytes |
コンパイル時間 | 217 ms |
コンパイル使用メモリ | 82,108 KB |
実行使用メモリ | 53,384 KB |
最終ジャッジ日時 | 2025-06-12 16:23:57 |
合計ジャッジ時間 | 4,210 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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()