문제링크
data class Assignment(val deadline: Int, val score: Int)
fun main() {
    val bufferedReader = System.`in`.bufferedReader()
    val bufferedWriter = System.out.bufferedWriter()
    val n = bufferedReader.readLine().toInt()
    val assignments = mutableListOf<Assignment>()
    val scores = Array(1001) { 0 }
    repeat(n) {
        val (deadline, score) = bufferedReader.readLine().split(" ").map { it.toInt() }
        assignments.add(Assignment(deadline, score))
    }
    assignments.sortBy { -it.score }
    for (assignment in assignments) {
        for (i in assignment.deadline downTo 1) {
            if (scores[i] == 0) {
                scores[i] = assignment.score
                break
            }
        }
    }
    bufferedWriter.write("${scores.sumOf { it }}")
    bufferedReader.close()
    bufferedWriter.close()
}

주석 없는 코드를 만들기 위해 노력하는 개발자입니다.
혹시라도 의도가 분명하지 않아보이는 (이해가 되지 않는) 코드가 있으시다면 편하게 답변 달아주시면 정말 감사하겠습니다.