Sumsubmat

Time limit: 0.9s Memory limit: 128MB Input: sumsubmat.in Output: sumsubmat.out

Cerință

Fie o matrice AA, cu NN linii și MM coloane și QQ query-uri de forma x1,y1,x2,y2x_{1}, y_{1}, x_{2}, y_{2}. Pentru fiecare query se cere suma elementelor de pe conturul submatricei cu colțul stânga-sus Ax1,y1A_{x_{1}, y_{1}} și colțul dreapta-jos Ax2,y2A_{x_{2}, y_{2}}, iar, dacă este pătratică, și elementelor de pe cele două diagonale.

Date de intrare

Fișierul de intrare sumsubmat.in conține:

  • pe prima linie două numere naturale, NN și MM, cu semnificația din enunț;
  • pe următoarele NN linii MM numere naturale separate prin câte un spațiu;
  • pe următoarea linie un număr natural, QQ, cu semnificația din enunț;
  • pe următoarele QQ linii patru numere naturale cu semnificația din enunț.

Date de ieșire

Pentru fiecare query afișează în sumsubmat.out pe câte o linie sumele cerute, fiecare pe câte o linie.

Restricții și precizări

  • 1N,M10001 \leq N, M \leq 1000;
  • 1Ai,j1091 \leq A_{i, j} \leq 10^{9};
  • 1Q31061 \leq Q \leq 3 \cdot 10^{6};
# Punctaj Restricții
1 10 1N,M10,1Q101 \leq N, M \leq 10, 1 \leq Q \leq 10
2 10 1N,M100,1Q1 0001 \leq N, M \leq 100, 1 \leq Q \leq 1 \ 000
3 20 1N,M1 000,1Q1 0001 \leq N, M \leq 1 \ 000, 1 \leq Q \leq 1 \ 000
4 20 1N,M1 000,1Q100 0001 \leq N, M \leq 1 \ 000, 1 \leq Q \leq 100 \ 000
5 20 1N,M1 000,1Q1 000 0001 \leq N, M \leq 1 \ 000, 1 \leq Q \leq 1 \ 000 \ 000
6 20 Fără restricții suplimentare

Exemplu

sumsubmat.in

3 3
1 2 3
1 3 2
3 2 1
1
1 1 3 3

sumsubmat.out

18

Log in or sign up to be able to send submissions!