AtCoder Beginner Contest 180 D - Takahashi Unevolved【Python】

https://atcoder.jp/contests/abc180/tasks/abc180_d

AtCoder ProblemsでDifficulty: 752、Solve Probability: 34%でした。

始めにカコモンジムに可能な限り(強さの変化量がAtCoderジムのもの以下で、強さがY以下)通い、その後AtCoderジムに通うことができる回数を求めて解くことができました。

X, Y, A, B = map(int, input().split())

ans = 0
s = X
# カコモンジムに通ったときの強さの変化量
kakomon = (A - 1) * s
while kakomon < B and s + kakomon < Y:
    s += kakomon
    ans += 1
    kakomon = (A - 1) * s

if (Y - s) % B == 0:
    ans += (Y - s) // B - 1
else:
    ans += (Y - s) // B
# 解説を見たところ場合分けしなくても良かった
# ans += (Y - 1 - s) // B
print(ans)