Post

[백준/코틀린] 11659번: 구간 합 구하기 4

실버 3

링크

11659번: 구간 합 구하기 4

풀이

누적 합을 사용하면 구간 합을 O(1)에 구할 수 있습니다.

코드

1
2
3
4
5
6
7
8
9
10
11
12
fun main() {
    val (n, m) = readln().split(" ").map { it.toInt() }
    val nums = readln().split(" ").map { it.toInt() }
    val prefixSum = nums.scan(0) { acc, num -> acc + num }

    repeat(m) {
        val (i, j) = readln().split(" ").map { it.toInt() }

        println("${prefixSum[j] - prefixSum[i - 1]}")
    }
}

This post is licensed under CC BY 4.0 by the author.