BrainNotFound's blog

By BrainNotFound, history, 3 years ago, In English

TLE code : https://mirror.codeforces.com/contest/1613/submission/137709567

Accepted code : https://mirror.codeforces.com/contest/1613/submission/137711275

The only difference is:

AC : fin(i,0,n){ cout<<v[i]<<"\n"; }

TLE : fin(i,0,n){ cout<<v[i]<<endl; }

I know endl is supposed to be a bit slower because it flushes the output, but how is the difference significant enough to give a TLE?

  • Vote: I like it
  • -23
  • Vote: I do not like it

»
3 years ago, # |
  Vote: I like it +5 Vote: I do not like it

The difference is significant in problems where you have to output multiple lines. The small differences add up.

»
3 years ago, # |
  Vote: I like it +3 Vote: I do not like it

\endl is much slower than \n because of the flushing of the output buffer. In general, just use \n to be safe.