Submission #533591

#TimeUsernameProblemLanguageResultExecution timeMemory
533591alvingogoBitaro the Brave (JOI19_ho_t1)C++14
100 / 100
229 ms89604 KiB
#include <bits/stdc++.h> #pragma GCC optimize("Ofast") #define AquA cin.tie(0);ios_base::sync_with_stdio(0); #define fs first #define sc second #define cd complex<double> #define p_q priority_queue using namespace std; int main(){ AquA; int n,m; cin >> n >> m; long long ans=0; vector<string> v(n); for(int i=0;i<n;i++){ cin >> v[i]; } vector<vector<int> > p1(n,vector<int>(m)),p2(n,vector<int>(m)); for(int i=0;i<n;i++){ p1[i][m-1]=(v[i][m-1]=='O'); for(int j=m-2;j>=0;j--){ p1[i][j]=p1[i][j+1]+(v[i][j]=='O'); } } for(int j=0;j<m;j++){ p2[n-1][j]=(v[n-1][j]=='I'); for(int i=n-2;i>=0;i--){ p2[i][j]=p2[i+1][j]+(v[i][j]=='I'); } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(v[i][j]=='J'){ ans+=p1[i][j]*p2[i][j]; } } } cout << ans << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...