Cod sursa(job #262174)

Utilizator RobybrasovRobert Hangu Robybrasov Data 19 februarie 2009 08:46:50
Problema Plantatie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>
#define N 501

int A[N][N];
int n,m,i,j,x2,y2,k,x1,y1;
long long S[N][N];

int main()
{
	freopen("plantatie.in","r",stdin);
	freopen("plantatie.out","w",stdout);
	scanf("%d%d\n",&n,&m);

	for (i=1; i<=n; i++)
        for (j=1; j<=n; j++) scanf("%d",&A[i][j]);

    for (i=1; i<=n; i++)
        for (j=1; j<=n; j++)
            S[i][j]=A[i][j]+S[i][j-1]+S[i-1][j]-S[i-1][j-1];

    for (i=1; i<=m; i++)
    {
        scanf("%d%d%d\n",&x1,&y1,&k);
        x2=x1+k-1; y2=y1+k-1;
        printf("%lld\n",S[x2][y2]-S[x1-1][y2]-S[x2][y1-1]+S[x1-1][y1-1]);
    }

    return 0;
}