AtCoder ABC217
D.Cutting Woods
code:kotlin
fun cuttingWoods() {
val (l, q) = readLine()!!.trim().split(' ').map(String::toInt)
val queries = List(q) {
val (c, x) = readLine()!!.trim().split(' ').map(String::toInt)
c to x
}
val cut = TreeSet<Int>().also {
it.add(0)
it.add(l)
}
for ((c, x) in queries) {
if (c == 1) {
cut.add(x)//TreeSetに要素が追加されるとそのタイミングでソートされる
} else {
val from = cut.lower(x)!!
val until = cut.higher(x)!!
println(until - from)
}
}
}
TreeSetの存在を知らなかったため時間内に解けず…