프로그래밍/Python
백준_python 11659번 구간 합 구하기 4 (누적합, 시간초과)
O'bin
2024. 4. 27. 21:03
<문제 링크>
https://www.acmicpc.net/problem/11659
<정답 코드>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import sys
input = sys.stdin.read
data = input().split() # 한번에 입력 받기
n, m = map(int, data[0:2])
nums = list(map(int, data[2:n+2]))
sums = [0] * (n+1) # 누적합 저장할 sums 배열 초기화
for i in range(1, n+1):
sums[i] = sums[i-1] + nums[i-1]
index = n+2
results = []
for _ in range(m):
a = int(data[index])
b = int(data[index + 1])
index += 2
results.append(sums[b] - sums[a-1])
print("\n".join(map(str, results))) # results 값들 한줄씩 출력
|
cs |
누적합으로 풀지 않으면 시간초과
🔷 누적합이란?