Блог пользователя pl_24

Автор pl_24, история, 7 лет назад, По-английски

Problem My Solution can some one please tell me why my solution gives WA even this method is a kind of brute force one still gives WA. ??

Thanks in advance..!!

  • Проголосовать: нравится
  • +6
  • Проголосовать: не нравится

»
7 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Auto comment: topic has been updated by pl_24 (previous revision, new revision, compare).

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Your solution gives WA because of precision issue.Since the range is quite small [0,1], "double" data type is not able to handle that much of precision.If you change your variable to "long double", then you will get a different answer, but unfortunately, that would also not be able to handle that much of precision. So try another approach to solve this problem.

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится

    The range being small is not the problem, it could be [ - 1018, 1018] and this approach would still not work. The real issue is that you might have to divide your range by 2 up to 106 times, so you'd need a variable storing around 106 bits to be able to compare correctly all the numbers you get.