题解:P13554 【MX-X15-T1】奶龙龙
本蒟蒻的第一篇题解。
题目大意
我们要买至少 \(a\) 个玩偶,每个玩偶原价需要 \(x\) 元。但是如果买够了 \(y\) 个玩偶,每个玩偶单价就可以降到 \(z\) 元。求买到至少 \(a\) 个玩偶所要花的最少钱数。
题目分析
注意:这道题目其实有一个坑点。如果 \(a\) 不足 \(y\) 个,直接按原价买 \(a\) 个并不一定是最优解。因为题目描述是买至少 \(a\) 个玩偶。因此,我们可以尝试买 \(y\) 个玩偶。如果降价之后价格更低就输出降价后的最优解;否则输出直接按照原价购买的价格。
如果是 \(a\) 大于等于 \(y\) 的情况下,直接购买 \(a\) 个即可。因为在购买 \(a\) 个的情况下也可以享受优惠。
AC 代码
#include<bits/stdc++.h>//记得开long long哦!
using namespace std;
int x,y,z,a,tmp;
int main()
{
scanf("%d%d%d%d",&x,&y,&z,&a);
if(a>y) printf("%lld",a*1ll*z);//假如a大于y
else if(a*1ll*x>y*1ll*z) printf("%lld",y*1ll*z);//a<y但是购买y个更划算
else printf("%lld",a*1ll*x);//直接购买a个更划算
return 0;
}

浙公网安备 33010602011771号