【C++】ABC265 A問題 Apple

未分類

ABC265のA問題 Appleを解説します。

問題のポイント
「3個セット」か「単品」で買うのかの場合わけを行うことです。(場合分けをしないでも解けそうな感じはしていますが。。)

私は、問題を最後まで読まずに解き始めてしまい、3個セットの方が価格が高くなる場合を見逃してしまっていました。。。

入力例

10 25 10

回答例

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

int main() {
    int x, y, n;
    cin >> x >> y >> n;

    if (n <= 2) {   //  欲しいりんごが2個以下...(A)
        cout << n * x << endl;
        return 0;
    }
    if (3*x > y) {              // 可能な限り3個セットで購入した方が安い場合...(B)
        int set = n / 3;        // 3個セットを何個買うべきかを計算
        int ans = set * y;
        int m = n - (3 * set);  // 3個セットで買いきれない個数
        ans += m*x;
        cout << ans << endl;
        return 0;
    }
    cout << n * x << endl;  // (A)でも(B)でもない場合(3個セットが損する場合)
    return 0;
}

コメント