Решение
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main() {
val reader = BufferedReader(InputStreamReader(System.`in`))
val writer = BufferedWriter(OutputStreamWriter(System.out))
val (n, m) = reader.readLine().split(" ").map(String::toInt)
val events = mutableListOf<Pair<Int, Int>>()
repeat(m) {
val (b, e) = reader.readLine().split(" ").map(String::toInt)
events.add(Pair(b, 1))
events.add(Pair(e + 1, -1))
}
events.sortWith(compareBy({ it.first }, { it.second }))
var watching = 0
var unattended = 0
var prevIndex = 0
for ((pos, change) in events) {
if (watching == 0) unattended += pos - prevIndex
watching += change
prevIndex = pos
}
if (prevIndex < n) unattended += n - prevIndex
writer.write(unattended.toString())
writer.newLine()
writer.flush()
writer.close()
}