[백준] 11659번: 구간 합 구하기 4

Narcoker·2023년 8월 15일
0

코딩테스트

목록 보기
131/150

문제

https://www.acmicpc.net/problem/11659

풀이

누적합을 활용한 풀이
모든 값의 합을 누적해서 저장한 다음 dp[end] - dp[start-1] 값으로
원하는 범위의 합의 값을 구할 수 있다.

import sys
input = sys.stdin.readline

N, M = map(int, input().split(" "))
numbers = list(map(int, input().split(" ")))


dp = [0] * (N + 1)
for i in range(N):
    dp[i + 1] = dp[i] + numbers[i]

for _ in range(M):
    start, end = map(int, input().split(" "))
    print(dp[end] - dp[start - 1])\

회고

profile
열정, 끈기, 집념의 Frontend Developer

0개의 댓글