AtCoder Beginner Contest

【pythonでABC207を解説】B - Hydrate

問題概要

問題ページ

問題文

水色のボールが \(A\) 個容器に入っています。高橋くんはこの容器に対し、以下の操作を \(0\) 回以上好きなだけ繰り返します。

  • 水色のボール \(B\) 個と赤色のボール \(C\) 個を容器に追加する。

高橋くんの目標は、容器に入っている水色のボールの個数が赤色のボールの個数の \(D\) 倍以下になるようにすることです。

目標が達成可能かを判定し、可能なら必要な操作回数の最小値を求めてください。

制約

  • \(1 \leq A,B,C,D \leq 10^5\)
  • 入力は全て整数である。

問題の考察

ACコード

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    a, b, c, d = list(map(int, input().rstrip('\n').split()))
    for i in range(1, 10 ** 6):
        if (a + b * i) / (c * i) <= d:
            print(i)
            exit()
    print(-1)


if __name__ == '__main__':
    solve()

プログラミング

-AtCoder Beginner Contest
-