はまやんはまやんはまやん

hamayanhamayan's blog

Cabbages [AtCoder Beginner Contest 210 A]

https://atcoder.jp/contests/abc210/tasks/abc210_a

解説

https://atcoder.jp/contests/abc210/submissions/24333120

場合分けして問題を解こう。
状況が変わる条件はキャベツをA個以下買うか、A個よりも多く買うかである。

キャベツをA個以下買う場合はすべてX円で買うので、NXが答え。
キャベツをA個よりも多く買う場合はA個まではX円で買って、それ以降はY円で買うのが最適なので、AX+(N-X)Yが答え。
maxやminをうまく使って一行でも書くことができるが、どっちでもいい。

int N, A, X, Y;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N >> A >> X >> Y;

    int ans = 0;
    if (N <= A) ans = N * X;
    else ans = A * X + (N - A) * Y;

    cout << ans << endl;
}