a00012025's blog

By a00012025, 9 years ago, In English

Here are TLE code and AC code of the problem 504D-Misha and XOR, the difference between them is only the condition of the for loop, but i<maxn && m>=0 is a stronger condition. Does anyone have idea about what happened? Thanks a lot.

  • Vote: I like it
  • +14
  • Vote: I do not like it

»
9 years ago, # |
Rev. 2   Vote: I like it +6 Vote: I do not like it

I've added inline and it's Accepted with the condition 11191452

It's really interesting to know why this happened!

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

    And then I changed m>=0 to m>=-1 got Accepted... 11191443

  • »
    »
    9 years ago, # ^ |
    Rev. 2   Vote: I like it +5 Vote: I do not like it

    What's the difference between inline function and simple function? I used TLE code's loop condition and added inline — AC.

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

This is even more weird!

Here I added a variable x, and made it equal to m, it got TLE.

Here I made it equal to m+1 before the loop, and equal to m in the loop, it got AC!

Here I made it equal to m before the loop, and don't change it in the loop, it got AC!

Maybe it is a bug in the compiler optimizer? I hope someone figures that out!