Little Jay

[C++] 백준 11660번 - 구간 합 구하기5 본문

알고리즘/BOJ

[C++] 백준 11660번 - 구간 합 구하기5

Jay, Lee 2022. 11. 29. 21:49

Prefix Sum문제.

문제에서 정확히 뭘 출력하라고 하는지만 파악하면 쉽게 풀 수 있다. 

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;

int dp[1025][1025];

int main() {

	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);

	int n, m; 
	int x1, y1, x2, y2;

	cin >> n >> m;
	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= n; j++) 
			cin >> dp[i][j];
		

	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= n; j++)
			dp[i][j] += dp[i - 1][j];

	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= n; j++)
			dp[i][j] += dp[i][j - 1];

	while (m--) {
		cin >> x1 >> y1 >> x2 >> y2;
		cout << dp[x2][y2] - dp[x1 - 1][y2] - dp[x2][y1 - 1] + dp[x1 - 1][y1 - 1] << endl;
	}

	return 0;
}
Comments