Hey , I just saw the editorial of this question and I did not understand how pre-computation does not give TLE
Like even when we are precomputing we iterate through all the values and still use % 1e9 + 7
Is it that we face that only because of the calculation of 2^n and we avoid that by using
void pre(){
ans[1] = 1;
for(int i =2; i< MX ; i++)
ans[i] = (ans[i - 1] * 2) % MOD;
}
here MX is range of n and MOD is 1e9 + 7
The modulus operation doesn’t give TLE when working with large values like 1e9 + 7 ?