Advertisement
mickypinata

PROG-T1077: Key

Mar 28th, 2020
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int qsum[1010][1010];
  5. int np, nh;
  6.  
  7. int main(){
  8.  
  9.     int x, y, r, x1, y1, x2, y2;
  10.  
  11.     scanf("%d %d", &np, &nh);
  12.     for(int i = 0; i < np; ++i){
  13.         scanf("%d %d", &x, &y);
  14.         ++qsum[x + 1][y + 1];
  15.     }
  16.  
  17.     /// Quick Sum
  18.     for(int i = 1; i <= 1001; ++i){
  19.         for(int j = 1; j <= 1001; ++j){
  20.             qsum[i][j] = qsum[i][j - 1] + qsum[i - 1][j] - qsum[i - 1][j - 1] + qsum[i][j];
  21.         }
  22.     }
  23.  
  24.     for(int i = 0; i < nh; ++i){
  25.         scanf("%d %d %d", &x, &y, &r);
  26.         ++x;
  27.         ++y;
  28.         x1 = (x - r > 0) ? x - r : 1;
  29.         y1 = (y - r > 0) ? y - r : 1;
  30.         x2 = (x + r <= 1001) ? x + r : 1001;
  31.         y2 = (y + r <= 1001) ? y + r : 1001;
  32.         cout << qsum[x2][y2] - qsum[x1 - 1][y2] - qsum[x2][y1 - 1] + qsum[x1 - 1][y1 - 1] << "\n";
  33.     }
  34.  
  35.     return 0;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement