結果

問題 No.545 ママの大事な二人の子供
コンテスト
ユーザー hedwig100
提出日時 2020-05-29 12:12:12
言語 Python3
(3.14.3 + numpy 2.4.4 + scipy 1.17.1)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
AC  
実行時間 1,004 ms / 2,000 ms
コード長 649 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 361 ms
コンパイル使用メモリ 20,828 KB
実行使用メモリ 44,088 KB
最終ジャッジ日時 2026-05-02 03:11:37
合計ジャッジ時間 23,606 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 32
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import numpy as np
INF = 1<<50
N = int(input())
satisf = [tuple(map(int,input().split())) for _ in range(N)]
if N == 1:
    print(min(satisf[0]))
    exit()
left = np.array([satisf[0][0],-satisf[0][1]])
for x,y in satisf[1:N//2]:
    left = np.concatenate([left + x,left - y])
right = np.array([satisf[N//2][0],-satisf[N//2][1]])
for x,y in satisf[N//2 + 1:]:
    right = np.concatenate([right + x,right - y])

right = np.append(right,INF)
right = np.append(right,-INF)
right = np.sort(np.unique(right))
idx = np.searchsorted(right,-left,'left')
ans1 = np.abs(left + right[idx]).min()
ans2 = np.abs(left + right[idx - 1]).min()
print(min(ans1,ans2))
0