Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: pond4545

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

Language: cpp

Time: 0.009 second

Submitted On: 2025-09-29 20:05:11

#include<iostream>
using namespace std;

int main()
{
    int x,y;
    cin >> x >> y;
    int arr[x][y];
    for (int i = 0; i < x; i++) 
    {
        for (int j = 0; j < y; j++) 
        {
            cin >> arr[i][j];
        }
    }

    int n;
    cin >> n;
    int pos = 0, neg = 0, even = 0, odd = 0;
    int prevPos = 0, prevNeg = 0, prevEven = 0, prevOdd = 0;

    for (int i = 0; i < n; i++) {
        int r, c;
        cin >> r >> c;
        r--; c--;
        if (r >= 0 && r < x && c >= 0 && c < y) 
        {
            int val = arr[r][c];
            int curPos = 0, curNeg = 0, curEven = 0, curOdd = 0;
            if (val > 0) curPos++;
            else if (val < 0) curNeg++;
            if (val % 2 == 0) curEven++;
            else curOdd++;
            pos += curPos;
            neg += curNeg;
            even += curEven;
            odd += curOdd;
            prevPos = curPos;
            prevNeg = curNeg;
            prevEven = curEven;
            prevOdd = curOdd;
        }
        else {
            pos += prevPos;
            neg += prevNeg;
            even += prevEven;
            odd += prevOdd;
        }
    }

    cout << pos << " " << neg << " " << even << " " << odd << endl;

    return 0;
}