Решение
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
private fun pyramid(blocks: List<Pair<Long, Long>>): Long {
val map = HashMap<Long, Long>()
blocks.forEach { block ->
if ((map[block.first] ?: 0) < block.second) {
map[block.first] = block.second
}
}
return map.map { it.value }.sum()
}
fun main() {
val reader = BufferedReader(InputStreamReader(System.`in`))
val writer = BufferedWriter(OutputStreamWriter(System.out))
val count = reader.readLine().toInt()
val blocks = List(count) {
val (a, b) = reader.readLine().trim().split(" ").map { it.toLong() }
a to b
}
val res = pyramid(blocks)
writer.write(res.toString())
writer.newLine()
reader.close()
writer.close()
}