Pagini recente » Cod sursa (job #2372967) | Cod sursa (job #2047384) | Cod sursa (job #697038) | Cod sursa (job #2050572) | Cod sursa (job #3133431)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
ifstream f("plantatie.in");
int N, M;
f >> N >> M;
vector<vector<int>> productivity(N + 1, vector<int>(N + 1));
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
f >> productivity[i][j];
}
}
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
productivity[i][j] += productivity[i - 1][j] + productivity[i][j - 1] - productivity[i - 1][j - 1];
}
}
ofstream g("plantatie.out");
for (int i = 0; i < M; i++) {
int query_i, query_j, query_k;
f >> query_i >> query_j >> query_k;
int max_productivity = productivity[query_i + query_k][query_j + query_k]
- productivity[query_i - 1][query_j + query_k]
- productivity[query_i + query_k][query_j - 1]
+ productivity[query_i - 1][query_j - 1];
g << max_productivity << endl;
}
f.close();
g.close();
return 0;
}