けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

AtCoder ABC 210 A - Cabbages (灰色, 100 点)

基本情報などでもよく問われる構造の問題!

問題概要

キャベツ 1 個を  X 円で買える。ただし、 A 個以上買う場合は 1 個  Y 円で買える ( Y \lt X)。

キャベツを  N 個買うときの価格を求めよ。

解法

  •  N \ge A である場合
    • 最初の  A 個の分: X \times A
    • 残りの  N - A 個の分: Y \times (N - A)
  •  N \lt A である場合
    •  X \times N

と求められます。

#include <bits/stdc++.h>
using namespace std;

int main() {
    int N, A, X, Y;
    cin >> N >> A >> X >> Y;
    
    if (N >= A)
        cout << X * A + Y * (N - A) << endl;
    else
        cout << X * N << endl;
}