https://www.acmicpc.net/problem/11659
#Solution
다이나믹 프로그래밍... 까지 가지 않고 미리 1~n까지의 sum을 구한다음 sum(j) - sum(i-1)을 구해주면 답이된다.
import sys
N, M = map(int, input().split())
numbers = list(map(int, sys.stdin.readline().split()))
sum_numbers = [0 for _ in range(N)]
for i in range(N):
if i == 0:
sum_numbers[i] = numbers[i]
else:
sum_numbers[i] = sum_numbers[i-1] + numbers[i]
for _ in range(M):
i, j = map(int, sys.stdin.readline().split())
if i == 1:
print(sum_numbers[j-1])
else:
print(sum_numbers[j-1] - sum_numbers[i-2])
'Programming [Python] > 백준 알고리즘 솔루션' 카테고리의 다른 글
#134 백준 파이썬 [11653] 소인수 분해 (0) | 2019.10.05 |
---|---|
#133 백준 파이썬 [1002] 터렛 (0) | 2019.10.05 |
#131 백준 알고리즘 [1260] DFS와 BFS - 그래프 (0) | 2019.10.05 |
#130 백준 파이썬 [2579] 계단 오르기 - 점화식 (0) | 2019.10.04 |
#129 백준 파이썬 [2293] 동전 1 - 점화식 (0) | 2019.10.02 |