Submission details
Task:Forest density
Sender:aalto26dm_050
Submission time:2026-09-21 16:51:22 +0300
Language:C++ (C++23)
Status:READY
Result:
Test results
testverdicttime
#10.00 sdetails
#20.46 sdetails
#30.47 sdetails

Code

#include "iostream"
#include "string"

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

Test details

Test 1

Verdict:

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

correct output
10
14
5
7
8
...

user output
0
0
0
0
0
...

Test 2

Verdict:

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

correct output
41079
2824
15631
1548
8483
...

user output
0
0
0
0
0
...

Test 3

Verdict:

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

correct output
1000000
1000000
1000000
1000000
1000000
...

user output
0
0
0
0
0
...