 Setter: Utkarsh Gupta
Tester: Takuki Kurokawa, Lavish Gupta
Editorialist: Yash Kulkarni

863

Basic Math

# PROBLEM:

Chef has 2 numbers A and B (A \lt B).

Chef will perform some operations on A.

In the i^{th} operation:

• Chef will add 1 to A if i is odd.
• Chef will add 2 to A if i is even.

Chef can stop at any instant. Can Chef make A equal to B?

# EXPLANATION:

It is clear that after a pair of operations (one for odd i and one for even i) A increases by 3. Hence, after an even number (2K) of operations, A changes to A + 3K, where K is any whole number.
Considering the above fact, after an odd number (2K + 1) of operations, A takes the form A + 3K + 1, where K is any whole number.
Therefore, A can be changed to take 2 forms, A + 3K or A + 3K + 1.
If we want A to change to B then B should have either of the 2 forms, A + 3K or A + 3K + 1. In other words, (B - A) (mod 3) should either be 0 or 1.

# TIME COMPLEXITY:

O(1) for each test case.

# SOLUTION:

Setter's solution
Editorialist's Solution
``````#include <iostream>
using namespace std;

int main() {
int T;
cin >> T;
while(T--){
int A,B;
cin >> A >> B;
if((B-A)%3<=1)cout << "YES" << endl;
else cout << "NO" << endl;
}
return 0;
}
``````