Search

BOJ 11659 구간 합 구하기 4

생성일
2024/10/21 04:35
태그
누적 합

문제 설명

NN개가 주어졌을 때, ii번째 수부터 jj번째 수까지 합을 구하는 프로그램을 작성하는 문제

예제 입력/출력

입력1
5 3 5 4 3 2 1 1 3 2 4 5 5
Plain Text
복사
출력1
12 9 1
Plain Text
복사

제약 조건

1N100,0001 ≤ N ≤ 100,000
1M100,0001 ≤ M ≤ 100,000
1ijN1 ≤ i ≤ j ≤ N

문제 풀이

풀이1 브루트 포스 - O(NM)O(N \cdot M)
풀이2 그리디
풀이3 DP - O(N)O(N)

풀이 코드

import sys input = lambda: sys.stdin.readline() N, M = map(int, input().split()) num_list = [0] + list(map(int, input().split())) # Solve (DP) dp = [0 for _ in range(N + 1)] for i in range(1, N + 1): dp[i] = dp[i - 1] + num_list[i] for _ in range(M): i, j = map(int, input().split()) print(dp[j] - dp[i - 1])
Python
복사