#11308. 0630微波炉 / Microwave
0630微波炉 / Microwave
问题名称:
微波炉 / Microwave
问题描述:
JOI正在尝试用微波炉将一块肉从A摄氏度加热到B摄氏度,以便准备一顿饭。肉在温度低于0°C时是冻结的,温度高于0°C时则不会被冻结。如果温度正好是0°C,肉可以是冻结或解冻的状态。
JOI决定估算加热这块肉所需的时间,估算公式如下:
- 当肉是冻结的,温度低于0°C时:每升高1°C需要C秒。
- 当肉冻结且温度为0°C时:需要D秒才能解冻。
- 当肉不是冻结的时:每升高1°C需要E秒。
根据这些信息,计算将肉加热到B°C所需的时间。
输入格式:
- 第1行:原始温度A(-100 ≤ A < 0),目标温度B(1 ≤ B ≤ 100)。
- 第2行:冻结的肉每升高1°C所需的时间C(1 ≤ C ≤ 100)。
- 第3行:从冻结状态到解冻所需的时间D(1 ≤ D ≤ 100)。
- 第4行:非冻结状态下每升高1°C所需的时间E(1 ≤ E ≤ 100)。
输出格式:
输出从A°C加热到B°C所需的总时间。
输入输出示例:
输入示例 1:
-10
20
5
10
3
输出示例 1:
120
输入示例 2:
35
92
31
50
11
输出示例 2:
627
算法:
- 如果原始温度A小于0°C,先将肉加热到0°C,所需时间为
C * (-A)
。 - 如果原始温度为0°C,则需要解冻,所需时间为
D
。 - 然后从0°C加热到目标温度B,所需时间为
(B - 0) * E
。 - 总时间即为这些过程的总和。
时间复杂度:
时间复杂度为O(1),因为只需要进行常数次的计算。
版权信息:
"The 16th Japan Olympiad in Informatics JOI 2016/2017 Qualifying Competition Task" by the Japan Committee for Informatics
统计
相关
在下列比赛中: