https://coderun.yandex.ru/problem/city-of-che/description Легкая

Решение

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, r) = reader.readLine().split(" ").map { it.toLong() }
    val monuments = reader.readLine().split(" ").map { it.toLong() }
    
    var ans: Long = 0
    var j = 0
    for (i in 0 until n.toInt()) {
        j = maxOf(j, i + 1)
        while (j < n.toInt() && monuments[j] - monuments[i] <= r) {
            j++
        }
        if (j < n.toInt()) {
            ans += (n.toInt() - j).toLong()
        }
    }
    
    writer.write(ans.toString())
    writer.flush()
    reader.close()
    writer.close()
}