結果

問題 No.545 ママの大事な二人の子供
ユーザー yuushi narazaki
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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)        
0