はじめに
- AtCoder Problems の ABC042 以降の問題を解いています
- 勉強のために Ruby で解いています
- 速度的な面で他の言語には劣りますが、あくまで勉強のためです
お題
- 今回のお題は、 ABC 044 A 高橋君とホテル という問題です
- K+1 日目から宿泊費が安くなるホテルに N 泊した際の合計宿泊費を求めます
考えたこと
- ホテルの値段が安くなる前に宿泊を終える場合がある
- 条件を使えば簡単にできるが、出力処理は1行でコンパクトにしたい
コード
n = gets.to_i
k = gets.to_i
x = gets.to_i
y = gets.to_i
puts [n, k].min*x + [n-k, 0].max*y
別解コード
コメントで教えていただいた回答が以下。ありがとうございます。
n, k, x, y = readlines.map(&:to_i)
puts (n <= k) ? x * n : x * k + y * (n - k)