What is the mistake in my solution ? someone will tell

ANSWER

for problem EOOPR Infinity 2020 A problem

```
if (x < y) {
ll diff = y - x;
if (diff % 2)
moves = 1;
else if (diff % 2 == 0 && (diff / 2) % 2)
moves = 2;
else
moves = 3;
}
```

You have forgotten 2 moves case

possibility of ans=0 when both x==y

Missed the case of 2 for x < y.

Take the example, X = 4, Y= 10. Minimum moves = 2

how can moves equal to 3 is there any case ?

No, its still not there.

It should have been in case between lines 12-18 in your solution link.

Check again.

consider testcase x=10,y=12

ans=2 your is -> 3

u can add 1 twice to get y as 12

X=4 Y=12

Check case 2 10.

Adding 5 twice and subtracting 2 once. Can’t be done in lesser moves.

easy case

0 6

+3 +3 = 2moves

Thanks got it

Answer is 2 when difference > 0 (or y>x) and difference is not divisible by 4, as when difference is not divisible by 4, the difference/2 term is odd, and can be chosen as a, and the entire moves required will be `X=X+a`

twice, thereby leading from X to Y.

Example: X=1 and Y=3. If we take a=1, then two moves will be X = 1 + 1 = 2 for first move and X = 2 + 1 = 3 in the second move. This should be the minimum number of moves required in the given constraints.

Whereas, when difference is positive and is divisible by 4, difference/2 will be even, so the above case will not be applicable.

when y>x and (y-x)\mod 4 = 0

thanks

We felt this was quite an easy question for cakewalk, but it turns out that 3 moves case was pretty hard to find.

add 7 ones and then add 1 more that will give y=10

(no no a will be same)

can you please give an example of 3 moves