Problem M: 快递运费

Problem M: 快递运费

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MiB

Description

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

假设快递的体积为 ,重量为 

  • 按体积计算:运费按体积计算,公式是  元。
  • 按重量计算:为了鼓励减轻包裹重量,规则是:当重量小于 300 克,即  时,运费为  元;当重量达到或超过 300 克,即  时,运费为  元。

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

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

Input

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

对于所有测试点,保证给出的浮点数均为正数,且不超过 

Output

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

Sample Input Copy

100.4
300.2
60.6
70.5

Sample Output Copy

50.2

HINT

样例解释

  • 对于样例 1:快递体积  为 ,重量  为 ,第一档重量运费  为 ,第二档重量运费  为 

    • 若按体积收费,费用为 
    • 若按重量收费,由于重量  超过 ,费用为 
      输出价格较低的 
  • 对于样例 2:快递体积  为 ,重量  为 ,第一档重量运费  为 ,第二档重量运费  为 

    • 若按体积收费,费用为 
    • 若按重量收费,由于重量  小于 ,费用为 
      输出价格较低的 

在 C++ 中,输入 double 类型变量需要使用格式说明符 %lf,输出时使用 %lf

如果要保留两位小数输出,需在格式说明符中加入 .2 进行精度控制。

double x; // 定义 double 类型变量 scanf("%lf", &x); // 输入 printf("%.2lf\n", x); // 保留两位小数输出