Пожалуйста, прочтите новое правило об ограничении использования AI-инструментов. ×

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

Автор Sujay_27, история, 9 месяцев назад, По-английски

Hello folks, Need some help in debugging.. The question is on the right : Ques This is the code I submitted : Code I don't know why I'm getting signed integer overflow, inspite of having all the variables as long long. Can someone enlighten me on what I'm missing. [contest:918][problem:1915C]

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

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

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

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

Sum can be 1e14 which would lead to overflow you can set a upperlimit of 1e9

»
9 месяцев назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

The maximum value that a long long variable can have is $$$2^{63} - 1$$$. In your code sum can be equal to $$$2 \cdot 10^{14}$$$ in some test cases and thus mid * mid may get bigger than the long long limit.

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

In worst case, the sum can be 2*10^14 then the mid will be 10^14. mid * mid will be 10^28. long long can hold at most 10^18.

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

instead of binary search,why arent you using sqrt its much simpler code

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

it works if you use unsigned long long instead of signed long long (long long)