首页 > 试题广场 >

独立的小易

[编程题]独立的小易
  • 热度指数:27137 时间限制: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
x, f, d, p = list(map(int,input().split()))
print(min(d//x, (f*p+d)//(x+p)))
编辑于 2019-07-30 11:21:53 回复(0)
query = list(int(x) for x in input().split())
init,x, f, d, p =0, query[0], query[1], query[2], query[3]
#x,rent f,fruit d,money p,price
if d//x <=f:
    print(d//x)
elif d//x > f:
    print((d+f*p)//(x+p))
我寻思是不是应该给初始水果一个变质期限?
编辑于 2019-05-10 11:00:08 回复(0)

x,f,d,p=map(int,input().split())
print(min(d//x,(f*p+d)//(p+x)))

发表于 2019-05-08 19:12:34 回复(0)
def object(xfdp,day):
    if day > xfdp[1]:
        df = day - xfdp[1]
    else:
        df = 0
    money = xfdp[2] - xfdp[0]*day - xfdp[3]*df
    return money
if __name__ == "__main__":
    line = input().split(" ")
    xfdp = list(map(int, line))
    low = 0
    high = xfdp[2] // xfdp[0]
    mid = (low + high) // 2
    while low < high:
        if object(xfdp,mid) > 0:
            low = mid + 1
        if object(xfdp,mid) < 0:
            high = mid - 1
        mid = (low + high) // 2
        if object(xfdp,mid) == 0:
            break
        if object(xfdp,mid) > 0 and object(xfdp,mid+1) < 0 :
            break
    print(mid)
发表于 2019-03-31 19:19:09 回复(0)
x, f, d, p = map(int, input().split())
if d/x > f:
    print( (d + f * p) // (x + p) )
else:
    print( d // x )

发表于 2019-03-30 19:00:14 回复(0)
while True:
    try:
        a,b,c,d = list(map(int,input().split()))
        print(min((c+(d*b)) // (a+d),(c // a)))
    except:
        break
发表于 2019-03-26 14:57:40 回复(0)
rent,fruit,money,f_price=map(int,input().split())
if (money/rent)<=fruit:
    print(money//rent)
else:
    print((money+fruit*f_price)//(rent+f_price))

发表于 2019-03-17 11:25:35 回复(0)

python两行

分为两种情况:

  1. 带水果够用。
  2. 带的水果不够用,还需要继续买水果。
rent_price, fruit_num, money, fruit_price = map(int, input().split())
print(money // rent_price if money // rent_price < fruit_num else fruit_num + (money - rent_price * fruit_num) // (fruit_price + rent_price))

题目输入的x,d,p,f什么的变量太蛋疼了,起个有意义的变量会让思路清晰。

发表于 2019-03-02 11:16:49 回复(0)
x, f, d, p = [int(k) for k in input().split()]
maxs = 0
if d // x < f:
    maxs = d // x
else:
    maxs = (d + f * p) // (x + p)
print(maxs)

发表于 2017-08-12 22:37:20 回复(0)