ABC 023
2026-05-13
AtCoder ABC 023 D「射撃王」
問題概要
- \(N\) 個の風船があり、風船 \(i\) は初期高度 \(H_i\)、1秒ごとに \(S_i\) 上昇する。
- 競技開始時に1個、その後1秒ごとに1個の風船を割れる(合計 \(N\) 個のタイミング 0,1,…,N-1 で割る)。
- 風船を割ったときの高度がその風船のペナルティ。最終的なペナルティは、割ったすべての風船のペナルティの最大値。
- 割る順番は自由に選べるとき、最終ペナルティの最小値を求めよ。
解法の着想
「最大値の最小化」は二分探索が有効です。
単調性
もしペナルティを \(x\) 以下にできるなら、\(x+1\) 以下にも当然できます。
逆に \(x\) でできないなら、\(x-1…