Решение
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
private fun metro(interval1: Int, interval2: Int, count1: Int, count2: Int): Pair<Int, Int>? {
val minTime1 = interval1 * (count1 - 1) + count1
val maxTime1 = minTime1 + interval1 * 2
val minTime2 = interval2 * (count2 - 1) + count2
val maxTime2 = minTime2 + interval2 * 2
return if (minTime1 > maxTime2 || maxTime1 < minTime2) {
null
} else {
Pair(maxOf(minTime1, minTime2), minOf(maxTime1, maxTime2))
}
}
fun main() {
val reader = BufferedReader(InputStreamReader(System.`in`))
val writer = BufferedWriter(OutputStreamWriter(System.out))
val interval1 = reader.readLine().toInt()
val interval2 = reader.readLine().toInt()
val count1 = reader.readLine().toInt()
val count2 = reader.readLine().toInt()
val res = metro(interval1, interval2, count1, count2)
writer.write(res?.let { "${res.first} ${res.second}" } ?: "-1")
writer.newLine()
reader.close()
writer.close()
}