結果
| 問題 |
No.904 サメトロ
|
| コンテスト | |
| ユーザー |
TANIGUCHI Kousuke
|
| 提出日時 | 2019-12-06 19:43:33 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 137 ms / 1,000 ms |
| コード長 | 478 bytes |
| コンパイル時間 | 241 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 12,416 KB |
| 最終ジャッジ日時 | 2024-12-23 15:24:00 |
| 合計ジャッジ時間 | 5,173 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 33 |
コンパイルメッセージ
Syntax OK
ソースコード
# a + sumA = b + sumB
# a <= sumB, b <= sumA
# b - a = sumA - sumB
# max_{i \in N} (A_i + B_i - sumB) <= b
def max(a,b); a > b ? a : b; end
N = gets.to_i
A = Array.new(N - 1,0)
B = Array.new(N - 1,0)
(N-1).times do |i|
a, b = gets.split.map(&:to_i)
A[i] = a
B[i] = b
end
sumA = A.sum
sumB= B.sum
b_min = (N - 1).times.inject(0) do |min,i|
max(min, A[i] + B[i] - sumB)
end
ans = (b_min .. sumA).count do |b|
a = b - sumA + sumB
a >= 0 && a <= sumB
end
puts ans
TANIGUCHI Kousuke