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`
↵
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`




