Submission #1359212

#TimeUsernameProblemLanguageResultExecution timeMemory
1359212camal1331Bitaro the Brave (JOI19_ho_t1)C++20
100 / 100
167 ms150648 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define NEGGERS ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
void solve(){
    ll n,m;
    cin>>n>>m;
    vector<string>s(n+1);
    for(ll i=1;i<=n;i++){
        cin>>s[i];
        s[i]=" "+s[i];
    }
    vector<vector<ll>>O(n+1,vector<ll>(m+1,0));
    vector<vector<ll>>a(n+1,vector<ll>(m+1,0));
    for(ll i=1;i<=n;i++){
        for(ll j=1;j<=m;j++){
            O[i][j]=O[i][j-1]+(s[i][j]=='O');
        }
    }
    for(ll j=1;j<=m;j++){
        for(ll i=1;i<=n;i++){
            a[i][j]=a[i-1][j]+(s[i][j]=='I');
        }
    }
    ll ans=0;
    for(ll i=1;i<=n;i++){
        for(ll j=1;j<=m;j++){
            if(s[i][j]=='J'){
                ll o=O[i][m]-O[i][j];
                ll d=a[n][j]-a[i][j];
                ll d1=d;
                ans+=o*d1;
            }
        }
    }
    cout<<ans<<endl;
}
signed main(){
    NEGGERS
    ll tt=1;
    //cin>>tt;
    while(tt--){
        solve();
    }
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...