結果

問題 No.904 サメトロ
ユーザー lam6er
提出日時 2025-03-31 17:29:57
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 46 ms / 1,000 ms
コード長 812 bytes
コンパイル時間 321 ms
コンパイル使用メモリ 82,080 KB
実行使用メモリ 52,608 KB
最終ジャッジ日時 2025-03-31 17:30:37
合計ジャッジ時間 2,982 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 33
権限があれば一括ダウンロードができます

ソースコード

diff #

n = int(input())
a_list = []
b_list = []
for _ in range(n - 1):
    a, b = map(int, input().split())
    a_list.append(a)
    b_list.append(b)

sum_a_other = sum(a_list)
sum_b_other = sum(b_list)
s = sum_a_other - sum_b_other

# Calculate lower_a_max
lower_a = []
for a_i, b_i in zip(a_list, b_list):
    term = a_i - (sum_b_other - b_i) - s
    lower_a.append(term)
lower_a_max = max(lower_a) if lower_a else -float('inf')

# Calculate lower_b_max
lower_b = []
for a_i, b_i in zip(a_list, b_list):
    term = b_i - (sum_a_other - a_i)
    lower_b.append(term)
lower_b_max = max(lower_b) if lower_b else -float('inf')

# Calculate max_c
max_c = max(-s, 0)

current_lower = max(lower_a_max, lower_b_max, max_c)
upper = sum_b_other

if current_lower > upper:
    print(0)
else:
    print(upper - current_lower + 1)
0