結果
| 問題 |
No.904 サメトロ
|
| コンテスト | |
| ユーザー |
FromBooska
|
| 提出日時 | 2024-03-11 16:03:59 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 39 ms / 1,000 ms |
| コード長 | 623 bytes |
| コンパイル時間 | 271 ms |
| コンパイル使用メモリ | 82,432 KB |
| 実行使用メモリ | 52,608 KB |
| 最終ジャッジ日時 | 2024-09-29 22:02:47 |
| 合計ジャッジ時間 | 2,438 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 33 |
ソースコード
# A0, B0にはmin and maxがある
N = int(input())
A, B = [], []
for i in range(N-1):
a, b = map(int, input().split())
A.append(a)
B.append(b)
sumA = sum(A)
sumB = sum(B)
A0_max = sumB
A0_min = 0
for i in range(N-1):
calc = B[i]-(sumA-A[i])
A0_min = max(A0_min, calc)
#print('A0_min', A0_min, 'A0_max', A0_max)
B0_max = sumA
B0_min = 0
for i in range(N-1):
calc = A[i]-(sumB-B[i])
B0_min = max(B0_min, calc)
#print('B0_min', B0_min, 'B0_max', B0_max)
diff = sumA-sumB
mn = max(A0_min, B0_min-diff)
mx = min(A0_max, B0_max-diff)
ans = max(mx+1-mn, 0)
print(ans)
#print('mn', mn, 'mx', mx)
FromBooska