 # ENOC2 - Editorial

Author : Soham Chakrabarti
Tester : Arkapravo Ghosh
Editorialist : Soham Chakrabarti

Easy

### PREREQUISITES:

Observation, Math

### PROBLEM:

You are given two numbers A and B and you can do the following operations on them.

• A can be incremented to 2A
• B can be decremented to B−2

By doing these operations any number of times (including zero). Can A and B be made equal ?

### EXPLANATION:

Observation is important.

As we can see that A can only be incremented and B can only be decremented in the above operations.

We can print a NO for all `A > B` cases.

Next, coming to the logic. (Assume A <= B, here) :-

• A and B both are even, always a YES

• A and B both are odd, always a YES

• A is even, B is odd, always a NO

• A is odd, B is even, here we have to consider two cases :-

• If (B >= 2A ), always a YES ( Example A = 5, B = 10 and above )

• else always a NO ( Example A = 5, B = 8 )

### PSEUDO CODE:

``````TC{
int a, b;
cin >> a >> b;
if(a > b){
cout << "NO" << '\n';
continue;
}
if(a%2 == 0 && b%2 == 0){
cout << "YES" << '\n';
}
else if(a%2 == 0 && b%2){
cout << "NO" << '\n';
}
else if(a%2 && b%2){
cout << "YES" << '\n';
}
else{
if(b >= 2 * a) cout << "YES" << '\n';
else cout << "NO" << '\n';
}
}
``````

Author’s Solution : Click here Tester’s Solution : Click here 