Almost same code but one got TLE and one AC. 
Difference between en1 and en2, changed 625 character(s)
Hello folks! I am new to codeforces and this was my first problem. I was trying powerful arrays http://codeforces.com/problemset/problem/86/D problem.↵

I used MO's algorithm to solve it. ↵

My first approach was this **http://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://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 :) 


EDIT:: ↵
I submitted different forms of my code for around 20 times in this question. What I saw is that time taken in this question changes abruptly even on subtle changes in code.↵

For example I changed ll to int in http://codeforces.com/contest/86/submission/21756475 code for some arrays and numbers except answer and ans[N] ( http://codeforces.com/contest/86/submission/24079499 ) and it got AC. ↵

When I was doing it, I removed #include <bits/stdc++.h> from my code and time reduced to 2240 from 3630 ms. I think it takes pretty neat and to the point code at Codeforces otherwise these things shouldn't matter. 

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en3 English imposter_syndrome 2017-01-23 22:50:20 5
en2 English imposter_syndrome 2017-01-23 22:49:32 625
en1 English imposter_syndrome 2017-01-23 15:35:17 1112 Initial revision (published)