Hello guys, I just realised how much of a difference putting const in a global variable can make. I was doing CSES problem Coin combinations II. I was getting tle on the problem for quite a while. Just for trying i changed the global mod value's datatype from long long to const long long. My code which was giving tle on 1s got executed in 0.2s due to that 1 change.
Here's my Old submission and here's the New one.
how does that work ?
Integer division is an extremely slow operation. However, if the divisor is a constant, the compiler can optimize it by changing the operation into several non-division operations and it can significantly boost the execution speed.
djm03178 Can you please share some reference regarding it if you can find one?
https://codeforces.me/blog/entry/83314
https://homepage.divms.uiowa.edu/~jones/bcd/divide.html this article on the comments looks very detailed.
Something new to add up in my arsenal
Ideally make it constexpr.
Very Interesting indeed.