## Check if A and B can be reduced to 0 by decrementing with x and y with absolute difference at most K Given three integers A, B, and K. The task is to check whether A and B can be reduced to zero by decrementing x and y from A and B respectively such that abs(x – y) ≤ K.

Example:

Input: A = 2, B = 7, K = 3
Output: YES
Explanation: Decrement values in the following way:

• Decrement 1 from A and 4 from B such that abs(1 – 4) ≤ 3, therefore, current value of A = 1 and B = 3.
• Decrement 1 from A and 3 from B such that abs(1 – 3) ≤ 3, current value of A = 0 and B = 0.

So, it is possible to reduce both the numbers to 0.

Input: A = 9, B = 8, K = 0
Output: NO

Approach: The task can be solved with a simple observation. The idea is to find the minimum and maximum out of A and B. If the minimum number multiplied by (1+K) is less than the maximum, then it is not possible to convert A and B to zero, else they can be converted to zero.

Below is the implementation of the above approach:

## C++

 `#include ``using` `namespace` `std;` `bool` `isPossibleToReduce(``int` `A, ``int` `B, ``int` `k)``{``    ``    ``    ``int` `mn = min(A, B);``    ``int` `mx = max(A, B);` `    ``    ``    ``    ``if` `(mn * (1 + k) < mx) {``        ``return` `false``;``    ``}` `    ``    ``return` `true``;``}` `int` `main()``{``    ``int` `A = 2, B = 7;``    ``int` `K = 3;` `    ``if` `(isPossibleToReduce(A, B, K))``        ``cout << ``"YES"``;``    ``else``        ``cout << ``"NO"``;` `    ``return` `0;``}`

## Java

 `import` `java.io.*;``import` `java.util.*;``class` `GFG {` `    ``    ``    ``static` `boolean` `isPossibleToReduce(``int` `A, ``int` `B, ``int` `k)``    ``{``      ` `        ``        ``        ``int` `mn = Math.min(A, B);``        ``int` `mx = Math.max(A, B);` `        ``        ``        ``        ``if` `(mn * (``1` `+ k) < mx) {``            ``return` `false``;``        ``}` `        ``        ``return` `true``;``    ``}` `    ``    ``public` `static` `void` `main(String[] args)``    ``{``        ``int` `A = ``2``, B = ``7``;``        ``int` `K = ``3``;` `        ``if` `(isPossibleToReduce(A, B, K))``            ``System.out.println(``"YES"``);``        ``else``            ``System.out.println(``"NO"``);``    ``}``}`

## Python3

 `def` `isPossibleToReduce(A, B, k):` `    ``    ``    ``mn ``=` `min``(A, B)``    ``mx ``=` `max``(A, B)` `    ``    ``    ``    ``if` `(mn ``*` `(``1` `+` `k) < mx):``        ``return` `False` `    ``    ``return` `True` `if` `__name__ ``=``=` `"__main__"``:` `    ``A ``=` `2``    ``B ``=` `7``    ``K ``=` `3` `    ``if` `(isPossibleToReduce(A, B, K)):``        ``print``(``"YES"``)` `    ``else``:``        ``print``(``"NO"``)` `    `

## C#

 `using` `System;` `public` `class` `GFG {` `    ``/// Function to check if it is possible``    ``    ``static` `bool` `isPossibleToReduce(``int` `A, ``int` `B, ``int` `k)``    ``{``      ` `        ``        ``        ``int` `mn = Math.Min(A, B);``        ``int` `mx = Math.Max(A, B);` `        ``        ``        ``        ``if` `(mn * (1 + k) < mx) {``            ``return` `false``;``        ``}` `        ``        ``return` `true``;``    ``}` `    ``    ``public` `static` `void` `Main(``string``[] args)``    ``{``        ``int` `A = 2, B = 7;``        ``int` `K = 3;` `        ``if` `(isPossibleToReduce(A, B, K))``            ``Console.WriteLine(``"YES"``);``        ``else``            ``Console.WriteLine(``"NO"``);``    ``}``}`

## Javascript

 ``

Time Complexity: O(1)
Auxiliary Space: O(1)