Submission

Status:

PPPPPP-PPP

Subtask/Task Score:

90/100

Score: 90

User: 8ii8jj

Problemset: สำรวจอาเรย์ 2

Language: c

Time: 0.005 second

Submitted On: 2025-10-09 22:41:37

#include <stdio.h>

int main() {
    int n, m, i, j, k, l;
    scanf("%d %d", &n, &m);
    int a[n][m];
    int b = 0, c = 0, d = 0, e = 0;

    // read matrix
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++) {
            scanf("%d", &a[i][j]);
        }
    }

    scanf("%d", &l); // number of queries
    int x[l],y[l],q=1;
    for (k = 0; k < l; k++) {
        scanf("%d %d", &x[k], &y[k]);
        x[k]--;
        y[k]--;
        if (x[k] < 0 || x[k] > n-1 || y[k] < 0 || y[k] > m-1) {
            if (a[x[k-q]][y[k-q]] % 2 == 0)
                d++;  // even count
            else
                e++;  // odd count

            if (a[x[k-q]][y[k-q]] > 0)
                b++;  // positive count
            else if (a[x[k-q]][y[k-q]] < 0)
                c++;  // negative count
                q++;
        } else {
            q=1;
            if (a[x[k]][y[k]] % 2 == 0)
                d++;  // even count
            else
                e++;  // odd count

            if (a[x[k]][y[k]] > 0)
                b++;  // positive count
            else if (a[x[k]][y[k]] < 0)
                c++;  // negative count
        }
    }

    printf("%d %d %d %d", b, c, d, e);
}