I have been solving Problem C from Codeforces Round #885(Div. 2),1848C - Vika and Price Tags. Below code gets accepted but adding a little change to the calc function gives TLE,

Accepted Submission: 266686268 .....TLE: 266686665

I changed

```
return calc(b ,rem ) + q + q/2;
```

to

```
return calc(rem , b-rem ) + q + q/2 + 1;
```

in the calc function and it is giving a TLE after this change even though the overall complexity remains the same. Can anyone explain the same?

in calc function program under if(q%2!=0) are not same

Yes I have intentionally made the change in the statement under the if condition, that’s why I am adding an additional 1 when I am passing calc(rem , b-rem) instead of calc(b,rem)…the answer would remain the same so should the complexity be. But it is giving a tle

I don't think these two programs are the same.

Two programs are not same as I have changed the statement under the if condition

But the changing this condition should not increase the tle as i am adding an extra one and reducing one step

Function $$$calc$$$ in the first submission seems to be roughly equal to $$$gcd$$$ in terms of complexity, but in the second submission it is $$$O(b)$$$, $$$calc(1, 1e9)$$$ needs $$$1e9$$$ calls to be computed.

Can you explain more as to why it would require 1e9 calls to compute b-rem in calc(rem , b-rem).