문제링크
import kotlin.math.min
fun main() {
val bufferedReader = System.`in`.bufferedReader()
val bufferedWriter = System.out.bufferedWriter()
val (x, y) = bufferedReader.readLine().split(" ").map { it.toLong() }
val z = getZ(x, y)
var start: Long = 0
var end: Long = 1_000_000_000
var minExtraGameCount = end
while (start <= end) {
val mid = (start + end) / 2
if (getZ(x + mid, y + mid) != z) {
minExtraGameCount = min(minExtraGameCount, mid)
end = mid - 1
} else {
start = mid + 1
}
}
if (minExtraGameCount == end) bufferedWriter.write("-1")
else bufferedWriter.write("$minExtraGameCount")
bufferedReader.close()
bufferedWriter.close()
}
fun getZ(x: Long, y: Long) = (y * 100/ x)
주석 없는 코드를 만들기 위해 노력하는 개발자입니다.
혹시라도 의도가 분명하지 않아보이는 (이해가 되지 않는) 코드가 있으시다면 편하게 답변 달아주시면 정말 감사하겠습니다.