题解
难度:简单
知识点:数学逻辑
由于钱可以换水果,但是水果不能换钱。
在钱不换水果的情况下:
f代表水果的最大值天数
d/x代表当前的钱维持房租的最大值天数
所以有两种情况:
- 如果f>=d/x,这个时候因为水果不能换钱,所以d/x就是能维持的最大天数
- 如果f<d/x,这个时候可以通过钱换水果来增加天数:所以能维持的最大天数为(d+p*f)/(x+p)
#include<iostream> using namespace std; int main() { long x, f, d, p; cin >> x >> f >> d >> p; long day; if (d / x > f) day = (d + p * f) / (x + p); else day = d / x; cout << day << endl; return 0; }