Решение
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import kotlin.math.abs
fun main() {
val reader = BufferedReader(InputStreamReader(System.`in`))
val writer = BufferedWriter(OutputStreamWriter(System.out))
val n = reader.readLine().toInt()
val frequencies = DoubleArray(n)
val verdicts = Array(n) { "" }
frequencies[0] = reader.readLine().toDouble()
for (i in 1 until n) {
val (freq, verdict) = reader.readLine().split(" ")
frequencies[i] = freq.toDouble()
verdicts[i] = verdict
}
var left = 30.0
var right = 4000.0
for (i in 1 until n) {
val fPrev = frequencies[i - 1]
val fCurr = frequencies[i]
val verdict = verdicts[i]
val mid = (fPrev + fCurr) / 2
if (verdict == "closer") {
if (fCurr > fPrev) {
left = maxOf(left, mid)
} else {
right = minOf(right, mid)
}
} else {
if (fCurr > fPrev) {
right = minOf(right, mid)
} else {
left = maxOf(left, mid)
}
}
if (abs(fCurr - fPrev) < 1e-9) {
continue
}
}
writer.write(String.format("%.6f %.6f", left, right))
reader.close()
writer.close()
}