백준

백준 11660: 구간 합 구하기 5

https://www.acmicpc.net/problem/11660

 

11660번: 구간 합 구하기 5

첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네

www.acmicpc.net

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.readline
 
n, m = map(int, input().split())
= [[0]*(n+1)]
= [[0]*(n+1for _ in range(n+1)]
 
for i in range(n):
    al = [0+ [int(x) for x in input().split()]# [0] + list(map(int, input().split())) 이렇게 써도 상관X
    a.append(al)
 
for i in range(1,n+1):
    for j in range(1,n+1):
        s[i][j] = s[i][j-1]+s[i-1][j]-s[i-1][j-1]+a[i][j]
for i in range(m):
    x1, y1, x2, y2 = map(int, input().split())
    answer = s[x2][y2]-s[x1-1][y2]-s[x2][y1-1]+s[x1-1][y1-1]
    print(answer)
 
 
cs

'백준' 카테고리의 다른 글

백준 1940: 주몽  (0) 2023.01.27
백준 2018: 수들의 합 5  (0) 2023.01.27
백준 11659번: 구간 합 구하기 4  (0) 2023.01.19
백준 1260번: DFS와 BFS  (0) 2021.10.13
백준 10828번: 스택  (0) 2021.09.30