https://coderun.yandex.ru/problem/sum-of-numbers/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, k) = reader.readLine().split(" ").map { it.toInt() }
    val arr = reader.readLine().split(" ").map { it.toInt() }

    var currentSum = 0L
    var count = 0
    val prefixSumCount = mutableMapOf<Long, Int>()
    prefixSumCount[0L] = 1

    for (num in arr) {
        currentSum += num.toLong()
        val target = currentSum - k.toLong()
        count += prefixSumCount.getOrDefault(target, 0)
        prefixSumCount[currentSum] = prefixSumCount.getOrDefault(currentSum, 0) + 1
    }

    writer.write(count.toString())
    writer.newLine()

    reader.close()
    writer.close()
}