結果

問題 No.3759 Watch Fireworks
コンテスト
ユーザー sig
提出日時 2026-10-09 22:11:04
言語 PyPy3
(7.3.23 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 832 ms / 2,000 ms
+ 492µs
コード長 907 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 66 ms
コンパイル使用メモリ 82,316 KB
実行使用メモリ 123,992 KB
最終ジャッジ日時 2026-10-09 22:11:14
合計ジャッジ時間 8,846 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 47
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

t = 1
#t = int(input())
def check(x):
  c11 = [xma-x,yma-x]
  c12 = [xmi+x,ymi+x]
  tf1 = True
  c21 = [xma-x,ymi+x]
  c22 = [xmi+x,yma-x]
  tf2 = True
  for i in range(n):
    if max(abs(c11[0]-lis[i][0]),abs(c11[1]-lis[i][1])) > x and max(abs(c12[0]-lis[i][0]),abs(c12[1]-lis[i][1])) > x:
      tf1 = False
    if max(abs(c21[0]-lis[i][0]),abs(c21[1]-lis[i][1])) > x and max(abs(c22[0]-lis[i][0]),abs(c22[1]-lis[i][1])) > x:
      tf2 = False
  if tf1 or tf2:
    return True
  return False
for _ in range(t):
  n = int(input())
  lis = []
  xma,xmi = -10**18,10**18
  yma,ymi = -10**18,10**18
  for i in range(n):
    x,y = map(int, input().split())
    x *= 2
    y *= 2
    lis.append([x+y,x-y])
    xma,xmi = max(xma,x+y),min(xmi,x+y)
    yma,ymi = max(yma,x-y),min(ymi,x-y)
  
  l = 10**18
  r = -1
  while abs(l-r) > 1:
    m = (l+r)//2
    if check(m):
      l = m
    else:
      r = m

  print(l)
0