https://www.acmicpc.net/problem/11659
11659번: 구간 합 구하기 4
첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j
www.acmicpc.net
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
nums = list(map(int, input().split()))
dp = [0] * (N + 1)
dp[0] = 0
for i in range(1, N + 1):
dp[i] = dp[i - 1] + nums[i - 1]
for _ in range(M):
start, end = map(int, input().split())
# print(sum(nums[i-1:j])) # 시간초과1
# dp는 해당 인덱스까지의 숫자를 누적합한 리스트
print(dp[end] - dp[start-1])
sys 까먹고 안했다가 시간초과...
'백준' 카테고리의 다른 글
백준 1932. 정수 삼각형 (0) | 2024.03.13 |
---|---|
백준 154866. 퇴사 2 (0) | 2024.03.12 |
백준 5635. 생일 (0) | 2024.03.11 |
백준 12852. 1로 만들기2 (0) | 2024.03.10 |
백준 11726. 2xn 타일링 (0) | 2024.03.10 |