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

浙公网安备 33010602011771号