Hello folks! I am new to codeforces and this was my first problem. I was trying powerful arrays http://mirror.codeforces.com/problemset/problem/86/D problem.
I used MO's algorithm to solve it.
My first approach was this **http://mirror.codeforces.com/contest/86/submission/24070204**
But this got TLE on test case 43. Now when I made a different function checkAns(); in my next submission http://mirror.codeforces.com/contest/86/submission/24070298 , it got AC..
All I changed was I put
L=queries[i].L; R=queries[i].R; while(currentL<L){ del(currentL); currentL++; }; while(currentL>L){ add(currentL-1); currentL--; }; while(currentR<R){ add(currentR+1); currentR++; }; while(currentR>R){ del(currentR); currentR--; };
this part of my code in a separate function checkAns(i); I am not getting how this got AC if earlier one was getting TLE. Also isn't function call increases time taken?? Please mention if there is something different on codeforces' platform.
Thanks in advance :)