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

hamayanhamayan's blog

買い物 [パソコン甲子園2017 予選 B]

https://onlinejudge.u-aizu.ac.jp/challenges/sources/PCK/Prelim/0358?year=2017

解法

https://onlinejudge.u-aizu.ac.jp/solutions/problem/0358/review/3136378/hamayanhamayan/C++14

条件分岐を使って処理を分けていこう。
d := 自分の持ち金で買った時の残り
残りが非負(0以上)ならば持ち金で買えたことになるので0を出力。
負ならば、借りる必要があるから、借りる。
全部借りて足りるなら、負債分だけ借りればいいので、-dを出力。
足りないならNA。

int M, F, B;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> M >> F >> B;

    int d = M - B;
    if (0 <= d) {
        // 足りた
        printf("0\n");
        return;
    }

    if (0 <= d + F) {
        // 借りれば足りる
        printf("%d\n", -d);
        return;
    }

    // 足りない
    printf("NA\n");
}