[백준] 11441번 합 구하기

거북이·2023년 1월 21일
0

백준[실버3]

목록 보기
39/92
post-thumbnail

💡문제접근

  • sum을 이용해서 구간 [i:j]의 합을 구하는 방법으로 접근하면 시간 초과가 발생한다. 누적 합 개념을 이용해서 접근했더니 해결할 수 있었다.

💡코드(메모리 : 42104KB, 시간 : 280ms)

import sys

N = int(input())
A_li = list(map(int, sys.stdin.readline().strip().split()))

prefix_sum = [0]
sum = 0
for i in range(N):
    sum += A_li[i]
    prefix_sum.append(sum)

M = int(input())
for _ in range(M):
    i, j = map(int, sys.stdin.readline().strip().split())
    print(prefix_sum[j] - prefix_sum[i-1])

💡소요시간 : 2m

0개의 댓글