Орнал может иметь переполнение, поскольку l+u
может быть больше максимального значения, которое может обработать int
(например, если l
и u
были INT_MAX
, то их сумма, очевидно, превысила бы INT_MAX
).
Правильный метод не может переполниться, потому что u-l
явно не переполнится, а l+(u-l)/2
гарантированно будет <=u
, поэтому переполнение также не может.