Submission details
Task:Forest density
Sender:aalto26dm_050
Submission time:2026-09-21 17:47:55 +0300
Language:C++ (C++23)
Status:READY
Result:
Test results
testverdicttime
#10.00 sdetails
#20.54 sdetails
#3ACCEPTED0.52 sdetails

Code

#include "iostream"
#include "string"

int main() {
    int n, q;
    std::cin >> n >> q;
    int sums[n][n];
    std::string line;
    for (int i = 0; i < n; i++) {
        std::cin >> line;
        int cumul = 0;
        for (int j = 0; j < n; j++) {
            cumul += (line[j] == '*');
            sums[i][j] = cumul;
            if (i) sums[i][j] += sums[i-1][j];
        }
    }
    int inputs[q][4];
    for (int i = 0; i < q; i++) {
        std::cin >> inputs[i][1] >> inputs[i][0] >> inputs[i][3] >> inputs[i][2];
    }
    for (int i = 0; i < q; i++) {
        int sum = sums[inputs[i][3] - 1][inputs[i][2] - 1];
        if (inputs[i][0] > 1) sum -= sums[inputs[i][3] - 1][inputs[i][0] - 2];
        if (inputs[i][1] > 1) sum -= sums[inputs[i][1] - 2][inputs[i][2] - 1];
        if (inputs[i][0] > 1 && inputs[i][1] > 1) sum += sums[inputs[i][0] - 2][inputs[i][1] - 2];
        std::cout << sum << std::endl;
    }
}

Test details

Test 1

Verdict:

input
10 100
**.*.*.**.
*.**.*..*.
.*****.**.
**....***.
...

correct output
10
14
5
7
8
...

user output
11
15
6
8
8
...

Feedback: Incorrect character on line 1 col 2: expected "10", got "11"

Test 2

Verdict:

input
1000 200000
**.**.****..**.***..**.***.**....

correct output
41079
2824
15631
1548
8483
...

user output
40807
2612
15426
1546
8642
...

Feedback: Incorrect character on line 1 col 2: expected "41079", got "40807"

Test 3

Verdict: ACCEPTED

input
1000 200000
******************************...

correct output
1000000
1000000
1000000
1000000
1000000
...

user output
1000000
1000000
1000000
1000000
1000000
...