結果
| 問題 | No.545 ママの大事な二人の子供 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2020-05-29 12:12:12 | 
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 485 ms / 2,000 ms | 
| コード長 | 649 bytes | 
| コンパイル時間 | 81 ms | 
| コンパイル使用メモリ | 12,800 KB | 
| 実行使用メモリ | 45,704 KB | 
| 最終ジャッジ日時 | 2024-10-14 16:52:27 | 
| 合計ジャッジ時間 | 17,412 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 32 | 
ソースコード
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))
            
            
            
        