Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.31 KB | None | 0 0
  1. //
  2. // Created by Adam Szokalski on 16/10/2019.
  3. //
  4. #include <iostream>
  5. #include <vector>
  6.  
  7. using namespace std;
  8.  
  9. int main(){
  10.     int n, m;
  11.     cin >> n >> m;
  12.     vector<vector<int>> A;
  13.     vector<vector<int>> Sum;
  14.     for (int i = 0; i < n; ++i) {
  15.         vector<int> row;
  16.         vector<int> zeros;
  17.         for (int j = 0; j < m; ++j) {
  18.             int elem;
  19.             cin >> elem;
  20.             row.push_back(elem);
  21.             zeros.push_back(0);
  22.         }
  23.         A.push_back(row);
  24.         Sum.push_back(zeros);
  25.     }
  26.  
  27.  
  28.     Sum[0][0] = A[0][0];
  29.  
  30.     for (int i = 1; i < n; ++i) {
  31.         Sum[i][0] = Sum[i-1][0] + A[i][0];
  32.     }
  33.  
  34.     for (int i = 1; i < m; ++i) {
  35.         Sum[0][i] = Sum[0][i-1] + A[0][i];
  36.     }
  37.  
  38.  
  39.     for (int i = 1; i < n; ++i) {
  40.         for (int j = 1; j < m; ++j) {
  41.             Sum[i][j] = Sum[i-1][j] + Sum[i][j-1] - Sum[i-1][j-1] + A[i][j];
  42.         }
  43.     }
  44.  
  45.     int k;
  46.     cin >> k;
  47.     vector<int> Answ;
  48.     for (int l = 0; l < k; ++l) {
  49.         int ax, bx, ay, by;
  50.         cin >> ax >> bx >> ay >> by;
  51.         ax -= 1;
  52.         bx -= 1;
  53.         ay -= 1;
  54.         by -= 1;
  55.         int sf = Sum[ay][by] - Sum[ax][by] - Sum[ay][bx] + Sum[ax][bx];
  56.         Answ.push_back(sf);
  57.     }
  58.  
  59.     for(auto a : Answ){
  60.         cout << a << endl;
  61.     }
  62.  
  63.  
  64.  
  65.     return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement