結果
| 問題 |
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 |
ソースコード
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)
lam6er