首页 > 试题广场 >

独立的小易

[编程题]独立的小易
  • 热度指数:49 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
小易为了向他的父母表现他已经长大独立了,他决定搬出去自己居住一段时间。一个人生活增加了许多花费: 小易每天必须吃一个水果并且需要每天支付x元的房屋租金。当前小易手中已经有f个水果和d元钱,小易也能去商店购买一些水果,商店每个水果售卖p元。小易为了表现他独立生活的能力,希望能独立生活的时间越长越好,小易希望你来帮他计算一下他最多能独立生活多少天。

输入描述:
输入包括一行,四个整数x, f, d, p(1 ≤ x,f,d,p ≤ 2 * 10^9),以空格分割


输出描述:
输出一个整数, 表示小易最多能独立生活多少天。
示例1

输入

3 5 100 10

输出

11
def max_day(x, f, d, p):
    if f <= 0 or d <= 0:
        return 0
    tmp_result = (d + p * f) // (x + p)
    if tmp_result >= f:
        return tmp_result
    return d // x
 
x, f, d, p = list(map(int, input().split()))
print(max_day(x, f, d, p))
线性规划
发表于 2019-10-09 19:47:30 回复(0)
def calculate(x, f, d, p):
    """Calculate the longest xiao yi can spend.

    x: daily rent
    f: count of fruit
    d: money
    p: price of fruit
    """
    days = f
    if d < f * x:
        print(d // x)
    else:
        # when f has been eaten up
        d = d - x * f
        days += d // (x + p)
        print(days)


if __name__ == '__main__':
    x, f, d, p = list(map(int, input().split()))
    calculate(x, f, d, p)
发表于 2019-08-03 11:02:03 回复(0)