fun addingWillOverflow(x: Int, y: Int): Boolean {
return (x > 0 && y > Int.MAX_VALUE - x) || (x < 0 && y < Int.MIN_VALUE - x)
}
fun main() {
var x: Int = 39839299
var y: Int = 1472783642
println(if (addingWillOverflow(x, y)) "true" else "false")
x = 2147483647 // Int.MAX_VALUE
y = 1
println(if (addingWillOverflow(x, y)) "true" else "false")
}
/*
run:
false
true
*/