n 元 , 买 塑 料 杯 子 a 元 , 买 玻 璃 杯 子 b 元 , 但 玻 璃 杯 子 用 完 后 可 以 卖 c 元 n元,买塑料杯子a元,买玻璃杯子b元,但玻璃杯子用完后可以卖c元 n,a,bc
求 最 多 买 的 杯 子 . 求最多买的杯子. .

− − − − − − − − − − − − − − − − − − − − − − − − − − − 分 割 − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − ---------------------------分割-------------------------------

因 为 塑 料 杯 子 固 定 , 我 们 先 确 定 买 多 少 玻 璃 杯 子 . 因为塑料杯子固定,我们先确定买多少玻璃杯子. .

很 明 显 当 n > = b ( 至 少 购 买 一 次 ) 且 ( b − c ) < a ( 至 少 比 塑 料 杯 划 算 才 行 ) , 我 们 才 买 玻 璃 杯 很明显当n>=b(至少购买一次)且(b-c)<a(至少比塑料杯划算才行),我们才买玻璃杯 n>=b()(bc)<a(),

设 这 种 情 况 下 买 了 X 个 玻 璃 杯 , 剩 下 的 钱 不 够 买 玻 璃 杯 了 设这种情况下买了X个玻璃杯,剩下的钱不够买玻璃杯了 X

也 就 是 n − X ( b − c ) < b 也就是n-X(b-c)<b nX(bc)<b

变 形 得 X > n − b b − c 变形得X>\frac{n-b}{b-c} X>bcnb

因 为 算 的 时 候 向 下 取 整 , 所 以 我 们 实 际 买 的 玻 璃 杯 是 n − b b − c + 1 因为算的时候向下取整,所以我们实际买的玻璃杯是\frac{n-b}{b-c}+1 bcnb+1

然 后 剩 下 来 的 钱 都 买 塑 料 杯 然后剩下来的钱都买塑料杯

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,a,b,c;
int main()
{
	ll ans=0;
	cin>>n>>a>>b>>c;
	if(b-c<a&&n>=b)
	{
		ll num=(n-b)/(b-c);
		num++;//因为向下取整所以加1 
		ans+=num;
		n-=num*(b-c);
	}
	ans+=n/a;
	cout<<ans;
}