Hi,
so far I have known that the time complexity for concatenating two strings is O(n). So
while (a.length() < b.length()) a = "0" + a;
is O(n^2). But it still passed the TL: http://mirror.codeforces.com/contest/1066/submission/44198754
I am wondering why it passed. Could anyone help me?
It could be because of optimization. But I am not sure. See here
Because it's stored in cache, the compiler sees that its doing same operation every time, it just predicts it will do it again in the next iteration so it adds it to cache.