Skip to content

Commit 9848af2

Browse files
committed
[BOJ] #11660. 구간 합 구하기 5 / 실버1 / 60분 / 실패
1 parent 449b815 commit 9848af2

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import sys
2+
input = sys.stdin.readline
3+
4+
# 누적합 테이블 계산
5+
def get_prefix_sum(grid, N):
6+
prefix_sum = [[0] * (N+1) for _ in range(N+1)]
7+
for i in range(1, N+1):
8+
for j in range(1, N+1):
9+
prefix_sum[i][j] = (
10+
grid[i-1][j-1]
11+
+ prefix_sum[i-1][j]
12+
+ prefix_sum[i][j-1]
13+
- prefix_sum[i-1][j-1]
14+
)
15+
return prefix_sum
16+
17+
# 입력
18+
N, M = map(int, input().split())
19+
grid = [list(map(int, input().split())) for _ in range(N)]
20+
21+
# 누적합
22+
prefix_sum = get_prefix_sum(grid, N)
23+
24+
# 범위 합 계산
25+
for _ in range(M):
26+
x1, y1, x2, y2 = map(int, input().split())
27+
answer = (
28+
prefix_sum[x2][y2]
29+
- prefix_sum[x1-1][y2]
30+
- prefix_sum[x2][y1-1]
31+
+ prefix_sum[x1-1][y1-1]
32+
)
33+
print(answer)

0 commit comments

Comments
 (0)