[알고리즘/백준] 11659번 : 구간 합 구하기 4(python)

유현민·2022년 7월 19일
0

알고리즘

목록 보기
219/253
post-custom-banner

만약 리스트가 a = [1, 2, 3] 이면
각 구간의 합은 k = [1, 3, 5] 이다.

이것을 이용하여 1 - 2의 구간합을 구하려면?
k[2] - k[0]의 값이 답이 된다.
따라서 k[끝] - k[시작 - 1]

import sys


input = sys.stdin.readline


def solution():
    N, M = map(int, input().split())
    a = list(map(int, input().split()))
    k = [0]
    s = 0
    for i in a:
        s += i
        k.append(s)

    for _ in range(M):
        s, e = map(int, input().split())
        print(k[e] - k[s - 1])


if __name__ == "__main__":
    solution()
profile
smilegate
post-custom-banner

0개의 댓글