
import sys N, M = map(int, input().split())arr = list(map(int, sys.stdin.readline().split()))for _ in range(M): i, j = map(int, input().split()) print(sum(arr[i-1:j])) 처음에 작성했던 코드이다.예제로 테스트해본 결과 정답은 올바르게 나오지만, 아무래도 합계를 구하는 sum(arr[i - 1 : j]) 부분의 시간 복잡도가 매우 커지는 경우가 있게 되어 시간초과 오류로 틀렸음매번 구간 합을 계산하기 위해 sum(arr[i - 1 : j]) 을 호출하여 M 번의 구간 합을 계산해야 하기 대문이다. 이 문제를 해결하기 위해 찾아보니 구간 합 배열 (누적 합)을 구현, ..