解説

問題整理

  • 現在のファン数は N(万人)。
  • テレビ出演で X(万人)増えるので、出演後は N+X
  • ランクは以下の境界で区切られる:
    • F[0, 1)
    • E[1, 10)
    • D[10, 30)
    • C[30, 70)
    • B[70, 100)
    • A[100, ∞)

やることは「出演前と出演後でランクが変わるか?」の判定。

方針(境界跨ぎ判定)

ランクが変わるのは、N から N+X に増える間に、いずれかの境界値
1, 10, 30, 70, 100跨いだときだけ。

よって、各境界 b について
N < b <= N+X を満たすものが1つでもあれば Yes、なければ No

この判定は O(1)。

実装例は以下のようになります。