#11308. 0630微波炉 / Microwave

    ID: 11308 传统题 1000ms 256MiB 尝试: 5 已通过: 2 难度: 10 上传者: 标签>模拟日本全国青少年奥林匹克竞赛初赛会津大学数据运算

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

算法:

  1. 如果原始温度A小于0°C,先将肉加热到0°C,所需时间为 C * (-A)
  2. 如果原始温度为0°C,则需要解冻,所需时间为 D
  3. 然后从0°C加热到目标温度B,所需时间为 (B - 0) * E
  4. 总时间即为这些过程的总和。

时间复杂度:

时间复杂度为O(1),因为只需要进行常数次的计算。

版权信息:

"The 16th Japan Olympiad in Informatics JOI 2016/2017 Qualifying Competition Task" by the Japan Committee for Informatics