算数的な問題。頭がごっちゃになりやすいので頑張って求めよう。
問題概要
一般に、0 ℃ 未満の肉は凍っていて、0 ℃ の肉は凍っていることと凍っていないことがありえて、0 ℃ より温度の高い肉は凍っていない。また、
- 凍っている肉を 1 ℃ 温めるには、 のエネルギーを要する
- 凍っている 0 ℃ の肉を凍っていない 0 ℃ の肉にするには、 のエネルギーを要する
- 凍っていない肉を 1 ℃ 温めるには、 のエネルギーを要する
℃ の肉を ℃ に温めたい。 のとき、はじめ肉は凍っていて、 のときは凍っていないことが保証される。必要なエネルギーはいくらか。
制約
考えたこと
のときと、 のときとで状況が異なるので分けて考えましょう!
のとき
こっちの方がわかりやすい。凍っていない肉を ℃ 分温める必要があります。凍っていない肉を 1 ℃ 温めるには のエネルギーを要するので、必要なエネルギーは
と求められます。
のとき
まず、凍っている ℃ の肉を凍っている 0 ℃ の肉にするのに必要なエネルギーは
と求められます( ℃ 温める必要があるため)。次に、その肉を凍っていない 0 ℃ の肉にするのに必要なエネルギーは
です。最後に、凍っていない 0 ℃ の肉を凍っていない ℃ の肉にするのに必要なエネルギーは
と求められます。
以上をまとめて、求めるエネルギーは
です。
コード
#include <bits/stdc++.h> using namespace std; int main() { int A, B, C, D, E; cin >> A >> B >> C >> D >> E; if (A >= 0) cout << E * (B - A) << endl; else cout << C * (-A) + D + E * B << endl; }