B4341 [语言月赛 202506] 票价计算
Source & Knowledge
2024 年 6 月语言月赛,由洛谷网校入门计划/基础计划提供。
题目大意
给定三班通勤车的票价与运行时间,以及每提前一分钟的奖金金额。已知最慢的一班车正好在 9:00 到达。请选择一班车,使得最终花费(票价减去奖金)最少。
题目分析
本题考察基础算术运算与条件判断。设:
- 每班车的票价分别为
a_1, a_2, a_3 ; - 运行时间分别为
b_1, b_2, b_3 ; - 每提前一分钟可获得奖金
c 。
由于最慢的车刚好在 9:00 到达,运行时间最长的那班车的时间
若选择某一班车
我们分别计算三辆车的最终花费,选出最小值所对应的车。如果有多个车花费相同,取编号最小的即可。
核心计算逻辑:
int T = max(max(b1, b2), b3);
int cost1 = a1 - c * (T - b1);
int cost2 = a2 - c * (T - b2);
int cost3 = a3 - c * (T - b3);
接下来判断三个花费中的最小值,并输出对应车次编号和该花费即可。