B3824 [NICA #2] 台式烤香肠 题解
思路
一道简单的数学问题。
由于只能购买品牌 A 或品牌 B 的烤香肠,所以答案只有两种可能:
-
可以购买品牌 A 香肠的袋数
\times 每袋的香肠数\times 一根品牌 A 的香肠的美味程度,即sum1=\lfloor \frac{k}{b} \rfloor \times a \times c ; -
可以购买品牌 B 香肠的袋数
\times 每袋的香肠数\times 一根品牌 B 香肠的美味程度,即sum2=\lfloor \frac{k}{e} \rfloor \times d \times f 。
取两者的最大值即可。
由于在极端情况下 int 范围,所以使用 long long。
代码
#include <bits/stdc++.h>
using namespace std;
long long a,b,c,d,e,f,k;
long long ans;
int main()
{
scanf("%lld%lld%lld%lld%lld%lld%lld",&a,&b,&c,&d,&e,&f,&k);
ans=max(floor(1.0*k/b)*a*c,floor(1.0*k/e)*d*f);
printf("%lld",ans);
return 0;
}