問題
考察
ドリンク飲むために必要な最少額はいくらですかという問題です。ドリンクを含めた注文方法を全て洗い出し、それぞれの金額を求めてみましょう。
- ドリンクを単品で注文:$P$円
- 料理1とドリンクを注文:$D_1 + Q$円
- 料理2とドリンクを注文:$D_2 + Q$円
- 料理3とドリンクを注文:$D_3 + Q$円
- 料理4とドリンクを注文:$D_4 + Q$円
… - 料理Nとドリンクを注文:$D_N + Q$円
この中で最小となる注文の金額を出力すればいいです。実装方法としては、最初にドリンクを単品でしたときの$P$円を暫定での最少金額とします。そして順番に金額を比較して、より金額が少ない注文があれば暫定の最少金額を更新してきましょう。C++の場合、金額の比較はmin
関数、料理1~Nまで順番に金額を調べるときはfor
を使うと実装が容易になります。
提出コード(コンテスト後)
ご不明点などがあれば教えていただけると幸いです。