Submission #1355475

#TimeUsernameProblemLanguageResultExecution timeMemory
1355475gvancakBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
294 ms150240 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;
long long  i1[3005][3005],o[3005][3005];
int main() {
	int w,h;
    cin>>w>>h;
    char a[w][h];
    long long ans=0;
    for(int i=0;i<w;i++){
        for(int j=0;j<h;j++){
            cin>>a[i][j];
            
        }
    }
    for(int i=0;i<w;i++){
        for(int j=h-1;j>=0;j--){
            o[i][j]=o[i][j+1];
            if(a[i][j]=='O')o[i][j]++;
        }
    }
    for(int i=w-1;i>=0;i--){
        for(int j=0;j<h;j++){
            i1[i][j]=i1[i+1][j];
            if(a[i][j]=='I')i1[i][j]++;
        }
    }
    for(int i=0;i<w;i++){
        for(int j=0;j<h;j++){
            if(a[i][j]=='J')ans+=i1[i][j]*o[i][j];
            
        }
    }
    cout<<ans;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...