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

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

Recently I have done 711C - Coloring Trees, and I have found an overflow when I use min(a,b) function. More specifically, if I use:

min(a, b + c) when a, b and c are long long and sum of b + c large than 32-bit integer then the sum b + c will be treated as 32-bits integer and hence the overflow.

but let say, if I use a temporary variable:

long long tmp = b + c

then

min(a, tmp) will not overflow

What kind of behavior is this?

This is two submissions, one is overflow and the another one use a temporary variable will not overflow:

Overflow: 285989412

Not overflow: 286024512

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

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

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

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

I believe you are incorrect, if I add the line if (_k > k) return INF;, it passes 286068726.