31 lines
771 B
C
31 lines
771 B
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
int main() {
|
|
int N, M;
|
|
scanf("%d %d",&N, &M);
|
|
int** dp = (int**)malloc(sizeof(int*)*(N+1));
|
|
for(int i=0; i<=N; i++) dp[i] = (int*)malloc(sizeof(int)*(N+1));
|
|
|
|
for(int x=0; x<=N; x++) {
|
|
for(int y=0; y<=N; y++) {
|
|
if (x==0 || y==0) {
|
|
dp[x][y] = 0;
|
|
continue;
|
|
}
|
|
int num;
|
|
scanf("%d",&num);
|
|
dp[x][y] = dp[x-1][y] + dp[x][y-1] - dp[x-1][y-1] + num;
|
|
}
|
|
}
|
|
|
|
while(M--) {
|
|
int x1, y1, x2, y2;
|
|
scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
|
|
printf("%d\n",dp[x2][y2] - dp[x2][y1-1] - dp[x1-1][y2] + dp[x1-1][y1-1]);
|
|
}
|
|
|
|
for(int i=0; i<=N; i++) free(dp[i]);
|
|
free(dp);
|
|
return 0;
|
|
} |