Submission #1359150

#TimeUsernameProblemLanguageResultExecution timeMemory
1359150nathako9nBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
197 ms150492 KiB
#include <bits/stdc++.h>
#define ll long long
#define endl '\n'
using namespace std;
const int N = 3005;
char ar[N+3][N+3];
ll O[N+2][N+3],I[N+3][N+3],n,m;
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>n>>m;
    ll sum=0;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>ar[i][j];
            O[i][j]=O[i][j-1];
            I[i][j]=I[i-1][j];
            if(ar[i][j]=='O'){
                O[i][j]++;
            }
            if(ar[i][j]=='I'){
                I[i][j]++;
            }
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(ar[i][j]=='J'){
                sum+=(O[i][m]-O[i][j])*(I[n][j]-I[i][j]);
               // cout<<i<<" "<<j<<" "<<O[i][n]<<" "<<O[i][j]<<" "<<I[n][j]<<" "<<I[i][j]<<endl;

            }
            //cout<<O[i][j]<<" ";
        }
        //cout<<endl;
    }
    cout<<sum<<endl;
//    cout<<O[2][];
}

/*


3 4
JOIJ
JIOO
IIII

*/
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...