Submission #1178676

#TimeUsernameProblemLanguageResultExecution timeMemory
1178676petezaBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
265 ms79844 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

int n, m;
char mp[3005][3005];
int Oc[3005][3005], Ic[3005][3005];

int main() {
    cin.tie(0) -> sync_with_stdio(0);
    cin >> n >> m;
    long long sum = 0;
    for(int i=1;i<=n;i++) {
        for(int j=1;j<=m;j++)
            cin >> mp[i][j];
    }
    for(int i=1;i<=n;i++) {
        for(int j=m;j>=1;j--) {
            Oc[i][j] = Oc[i][j+1] + (mp[i][j] == 'O');
        }
    }
    for(int j=1;j<=m;j++) {
        for(int i=n;i>=1;i--) {
            Ic[i][j] = Ic[i+1][j] + (mp[i][j] == 'I');
        }
    }
    for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(mp[i][j] == 'J') sum += Oc[i][j] * Ic[i][j];
    cout << sum;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...