Hi.
I was looking some solutions of problem 551C - GukiZ hates Boxes and I found this one: 11548616.
Basically, the code binary search the optimal time. One thing I can't understand is its stop condition (and then the choice of the optimal answer). The while stop condition in the main function is ma - mi > 1
, i.e., it will stop when mi = ma + 1
and (I think) there will never be such case such that mi = ma
. After that while, he prints the value of ma
(right 'pointer' of binary search).
My doubt is: why can't mi
be the optimal answer? How is he sure that ma
is already the optimal answer despite mi
being inside the 'search' range?
Any help is appreciated. Thanks!