Submission #98101

#TimeUsernameProblemLanguageResultExecution timeMemory
98101someone_aaBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
176 ms9524 KiB
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define mp make_pair
using namespace std;
const int maxn = 3100;
char maze[maxn][maxn];
ll cnt[maxn];
int n, m;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin>>n>>m;
    for(int i=1;i<=n;i++) {
        for(int j=1;j<=m;j++) {
            cin>>maze[i][j];
        }
    }

    ll result = 0LL;
    for(int i=n;i>=1;i--) {
        // from down up
        ll cntj = 0LL;
        for(int j=1;j<=m;j++) {
            if(maze[i][j] == 'J') cntj += cnt[j];
            else if(maze[i][j] == 'O') {
                // process
                ll temp = 1LL * cntj;
                result += temp;
            }
            else {
                cnt[j]++;
            }
        }
    }
    cout<<result<<"\n";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...