#include <iostream>
/* Отражаем 1 в 0 и 0 в 1 */
int flip(int bit) {
return 1^bit;
}
/* Возвращаем 1, если число положительное, и 0, если отрицательное*/
int sign(int a) {
return flip((a >> 31) & 0x1);
}
int getMaxNaive(int a, int b) {
int k = sign(a - b);
int q = flip(k);
return a * k + b * q;
}
int main() {
std::cout << getMaxNaive(4, 5);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKLyog0J7RgtGA0LDQttCw0LXQvCAxINCyIDAg0LggMCDQsiAxICovCmludCBmbGlwKGludCBiaXQpIHsKICAgIHJldHVybiAxXmJpdDsKfQogCi8qINCS0L7Qt9Cy0YDQsNGJ0LDQtdC8IDEsINC10YHQu9C4INGH0LjRgdC70L4g0L/QvtC70L7QttC40YLQtdC70YzQvdC+0LUsINC4IDAsINC10YHQu9C4INC+0YLRgNC40YbQsNGC0LXQu9GM0L3QvtC1Ki8KaW50IHNpZ24oaW50IGEpIHsKICAgIHJldHVybiBmbGlwKChhID4+IDMxKSAmIDB4MSk7Cn0KIAppbnQgZ2V0TWF4TmFpdmUoaW50IGEsIGludCBiKSB7CiAgICBpbnQgayA9IHNpZ24oYSAtIGIpOwogICAgaW50IHEgPSBmbGlwKGspOwogICAgcmV0dXJuIGEgKiBrICsgYiAqIHE7Cn0KCmludCBtYWluKCkgewoJc3RkOjpjb3V0IDw8IGdldE1heE5haXZlKDQsIDUpOwoJcmV0dXJuIDA7Cn0=