어흥
[백준 11660] 구간 합 구하기 5 (C++) 본문
728x90
반응형
문제 링크: www.acmicpc.net/problem/11660
1. 주의할 점
- 매 TC마다 구하지 않고, 각 열의 1~N까지의 합을 Arr[][N]에 저장한다
2. 구현
- Arr[M][N] = Arr[M][N-1] + [M][N]에 입력받는 수를 저장한다
- 각 쿼리마다 Arr[][Y2]-Arr[][Y1-1] 까지의 합을 X1~X2행까지 수행하여 출력한다
#include <iostream>
using namespace std;
long long arr[1025][1025];
int num, query, a, b, c, d;
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
cin >> num >> query;
for(int i=1;i<=num;i++)
for (int j = 1; j <= num; j++) {
cin >> arr[i][j];
arr[i][j] += arr[i][j - 1];
}
for (int i = 0; i < query; i++) {
cin >> a >> b >> c >> d;
long long result = 0;
for (int j = a; j <= c; j++)
result += (arr[j][d] - arr[j][b-1]);
cout << result << '\n';
}
return 0;
}
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 20422] 퀼린드롬 (Easy) (C++) (0) | 2021.01.04 |
---|---|
[백준 20419] 화살표 미로 (Easy) (C++) (0) | 2021.01.03 |
[백준 20005] 보스몬스터 전리품 (C++) (0) | 2020.12.27 |
[백준 13908] 비밀번호 (C++) (0) | 2020.12.24 |
[백준 14938] 서강그라운드 (C++) (0) | 2020.12.24 |
Comments