Submission #523626

#TimeUsernameProblemLanguageResultExecution timeMemory
523626DeepessonBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
287 ms159928 KiB
#include <bits/stdc++.h>
long long comb[3005][3005][2]={};
int main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    std::cout.tie(0);
    int N,M;
    std::cin>>N>>M;
    std::string s[N];
    for(auto&x:s)std::cin>>x;
    for(int i=0;i!=M;++i){
        int sum=0;
        for(int j=N-1;j!=-1;--j){
            if(s[j][i]=='I')++sum;
            comb[j][i][0]=sum;
        }
    }
    for(int i=0;i!=N;++i){
        int sum=0;
        for(int j=M-1;j!=-1;--j){
            if(s[i][j]=='O')++sum;
            comb[i][j][1]=sum;
        }
    }
    long long total=0;
    for(int i=0;i!=N;++i){
        for(int j=0;j!=M;++j){
            if(s[i][j]=='J'){
                total+=comb[i][j][0]*comb[i][j][1];
            }
        }
    }
    std::cout<<total<<"\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...