XiangXunyi's blog

By XiangXunyi, history, 3 months ago, In English

As the title, 1e18 + 1 == 1e18 in C++.

This is because the double type stores the first 53 binary bits of a number. So the number 1 will be ignored.

And most of submissions which fst on test 13 of problem C of edu round 187 are for this reason.

UPD: I collected some suggestions from the comments:

  1. Use 1000000000000000001 (I do not suggest it because it is prone to errors.)
  2. Use (long long)(1e18) + 1
  3. Use 1e18L + 1
  4. Use 1'000'000'000'000'000'001LL

Full text and comments »

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

By XiangXunyi, history, 5 months ago, In English

I accidentally clicked on the button "Make it private »", and then it displayed a confirmation window. Of course, I chose "No". But the contest still became private. I need to start queuing again. Why is it?

The issue is that whether I choose yes or no, the action is always taken.

MikeMirzayanov, fix it please.

Full text and comments »

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