n
元
,
买
塑
料
杯
子
a
元
,
买
玻
璃
杯
子
b
元
,
但
玻
璃
杯
子
用
完
后
可
以
卖
c
元
n元,买塑料杯子a元,买玻璃杯子b元,但玻璃杯子用完后可以卖c元
n元,买塑料杯子a元,买玻璃杯子b元,但玻璃杯子用完后可以卖c元
求
最
多
买
的
杯
子
.
求最多买的杯子.
求最多买的杯子.
− − − − − − − − − − − − − − − − − − − − − − − − − − − 分 割 − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − ---------------------------分割------------------------------- −−−−−−−−−−−−−−−−−−−−−−−−−−−分割−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
因 为 塑 料 杯 子 固 定 , 我 们 先 确 定 买 多 少 玻 璃 杯 子 . 因为塑料杯子固定,我们先确定买多少玻璃杯子. 因为塑料杯子固定,我们先确定买多少玻璃杯子.
很 明 显 当 n > = b ( 至 少 购 买 一 次 ) 且 ( b − c ) < a ( 至 少 比 塑 料 杯 划 算 才 行 ) , 我 们 才 买 玻 璃 杯 很明显当n>=b(至少购买一次)且(b-c)<a(至少比塑料杯划算才行),我们才买玻璃杯 很明显当n>=b(至少购买一次)且(b−c)<a(至少比塑料杯划算才行),我们才买玻璃杯
设 这 种 情 况 下 买 了 X 个 玻 璃 杯 , 剩 下 的 钱 不 够 买 玻 璃 杯 了 设这种情况下买了X个玻璃杯,剩下的钱不够买玻璃杯了 设这种情况下买了X个玻璃杯,剩下的钱不够买玻璃杯了
也 就 是 n − X ( b − c ) < b 也就是n-X(b-c)<b 也就是n−X(b−c)<b
变 形 得 X > n − b b − c 变形得X>\frac{n-b}{b-c} 变形得X>b−cn−b
因 为 算 的 时 候 向 下 取 整 , 所 以 我 们 实 际 买 的 玻 璃 杯 是 n − b b − c + 1 因为算的时候向下取整,所以我们实际买的玻璃杯是\frac{n-b}{b-c}+1 因为算的时候向下取整,所以我们实际买的玻璃杯是b−cn−b+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;
}