测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A21937. 小杨的爱心快递

填空题 容易

题目描述

小杨的爱心快递

题目描述

小杨是 “爱心社区” 的小志愿者,每周他都会帮助邻居们寄送捐赠给山区小学的文具和书籍。快递公司为了支持公益行动,制定了特殊的运费规则,鼓励大家合理包装:

假设快递的体积为 V,重量为 G。

  • 按体积计算:运费按体积计算,公式是 0.5×V 元。
  • 按重量计算:为了鼓励减轻包装重量,规则是:当重量小于 300 克,即 G<300 时,运费为 M 元;当重量达到或超过 300 克,即 G≥300 时,运费为 N 元。

快递公司的叔叔说:“我们应该选择最公平合理的计费方式。”

所以,最终的运费会取按体积计算和按重量计算这两种方式中价格较低的那一个,这样对寄件人最公道。

输入格式

四行,每行一个一位小数的浮点数,分别代表,快递的体积 V,快递的重量 G,第一档重量运费 M,第二档重量运费 N。

输出格式

一行一个一位小数,代表实际快递运费。

样例

输入样例 1

100.4
300.2
60.6
70.5

输出样例 1

50.2

输入样例 2

99.8
200.9
60.2
70.1

输出样例 2

49.9

样例解释

  • 对于样例 1:快递体积 V 为 100.4,重量 G 为 300.2,第一档重量运费 M 为 60.6,第二档重量运费 N 为 70.5。

— 若按体积收费,费用为 0.5×100.4 = 50.2;

— 若按重量收费,由于重量 G = 300.2 超过 300,费用为 70.5。

输出价格较低的 50.2。

  • 对于样例 2:快递体积 V 为 99.8,重量 G 为 200.9,第一档重量运费 M 为 60.2,第二档重量运费 N 为 70.1。

— 若按体积收费,费用为 0.5×99.8 = 49.9;

— 若按重量收费,由于重量 G = 200.9 小于 300,费用为 60.2。

输出价格较低的 49.9。

数据范围

对于所有测试点,保证输出的浮点数不超过 1000。

参考答案

#include <iostream> #include <iomanip> using namespace std; int main() { double V, G, M, N; scanf("%lf%lf%lf%lf", &V, &G, &M, &N); double P_G = (G < 300)? M : N; double result = (P_V < P_G)? P_V : P_G; printf("%.1f\n", result); return 0; }
上一题 下一题