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

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

AtCoder ABC 094 A - Cats and Dogs (灰色, 100 点)

ほどよい算数の問題!

問題概要

猫と犬が合わせて  A + B 匹いて、そのうちの  A 匹は猫であることがわかっている。残りの  B 匹は猫か犬かわからない。

この中に猫がちょうど  X 匹いるようなことはありうるかどうかを判定せよ。

解法

不等式を立てる技能が問われている。

  • 猫は少なくとも  A 匹いるので、 X \ge A である
  • 全員が猫だとしても  A + B 匹なので、 X \le A + B である

よって、 A \le X \le A + B でなければならない。

逆に  X がこの範囲にあるならば、「猫か犬かわからない」動物のうち、ちょうど  X - A 匹が猫だということにすれば辻褄が合う。

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

int main() {
    int A, B, X;
    cin >> A >> B >> X;
    if (X >= A && X <= A + B) cout << "YES" << endl;
    else cout << "NO" << endl;
}