結果
問題 |
No.545 ママの大事な二人の子供
|
ユーザー |
|
提出日時 | 2025-02-28 16:18:04 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 873 bytes |
コンパイル時間 | 602 ms |
コンパイル使用メモリ | 82,240 KB |
実行使用メモリ | 84,548 KB |
最終ジャッジ日時 | 2025-02-28 16:18:09 |
合計ジャッジ時間 | 5,049 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 WA * 15 |
ソースコード
import bisect N = int(input()) satis = [] for i in range(N): a,b = map(int,input().split()) satis.append((a,b)) half = N // 2 left = satis[:half] right = satis[half:] right_sum = [] left_sum = [] for i in range(2**(len(left))): R = 0 L = 0 for j in range(len(left)): wari = 2**j if((i // wari) % 2 == 1): R += left[j][0] else: L += left[j][1] left_sum.append(R - L) for i in range(2**(len(right))): R = 0 L = 0 for j in range(len(right)): wari = 2**j if((i // wari) % 2 == 1): R += right[j][0] else: L += right[j][1] right_sum.append(R - L) right_sum.sort() ans = float('inf') for x in left_sum: pos = bisect.bisect_left(right_sum,-x) if(pos < len(right_sum)): ans = min(ans,x + right_sum[pos]) print(ans)