Submission #1317747

#TimeUsernameProblemLanguageResultExecution timeMemory
1317747JuanJLBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
371 ms152972 KiB
#include <bits/stdc++.h> #define fst first #define snd second #define pb push_back #define forn(i,a,b) for(int i = a; i<b; i++) #define SZ(x) (int)x.size() #define ALL(x) x.begin(),x.end() #define mset(a,v) memset(a,v,sizeof(a)) using namespace std; typedef long long ll; int main(){ ll n,m; cin>>n>>m; vector<string> s(n); forn(i,0,n) cin>>s[i]; vector<vector<ll>> der(n,vector<ll>(m,0)); vector<vector<ll>> aba(n,vector<ll>(m,0)); forn(i,0,n){ for(int j = m-1; j>=0; j--){ der[i][j]=(j+1<m?der[i][j+1]:0); der[i][j]+=(s[i][j]=='O'); } } forn(j,0,m){ for(int i = n-1; i>=0; i--){ aba[i][j]+=(i+1<n?aba[i+1][j]:0); aba[i][j]+=(s[i][j]=='I'); } } /*forn(i,0,n){ forn(j,0,m){ cout<<der[i][j]<<" "; } cout<<'\n'; } forn(i,0,n){ forn(j,0,m){ cout<<aba[i][j]<<" "; } cout<<'\n'; } */ ll res = 0; forn(i,0,n){ forn(j,0,m){ if(s[i][j]=='J'){ //cout<<i<<" "<<j<<'\n'; res+=der[i][j]*aba[i][j]; } } } cout<<res<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...