알고리즘
백준 15724번 주지수 C++
영춘권의달인
2022. 10. 24. 16:10
https://www.acmicpc.net/problem/15724
15724번: 주지수
네모 왕국의 왕인 진경대왕은 왕국의 영토를 편하게 통치하기 위해서 1X1의 단위 구역을 여러 개 묶어서 하나의 거대 행정구역인 주지수(州地數, 마을의 땅을 셈)를 만들 예정이다. 진경대왕은
www.acmicpc.net
누적합
#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <list>
#include <unordered_map>
#include <unordered_set>
#include <iomanip>
#include <limits.h>
using namespace std;
using int64 = long long;
int n, m;
vector<vector<int>> rowSum;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> n >> m;
rowSum = vector<vector<int>>(n + 1, vector<int>(m + 1, 0));
for (int i = 1; i <= n; i++) {
int sum = 0;
for (int j = 1; j <= m; j++) {
int input;
cin >> input;
sum += input;
rowSum[i][j] = sum;
}
}
int k;
int row1, row2, col1, col2;
cin >> k;
for (int i = 0; i < k; i++) {
int sum = 0;
cin >> row1 >> col1 >> row2 >> col2;
for (int j = row1; j <= row2; j++) {
sum += rowSum[j][col2] - rowSum[j][col1 - 1];
}
cout << sum << "\n";
}
}