Submission #1310342

#TimeUsernameProblemLanguageResultExecution timeMemory
1310342bahaktlBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
346 ms174984 KiB
#include <bits/stdc++.h> #define int long long #define pb push_back using namespace std; const int N=3500; const int inf=5e18; const int mod=1e9+7; char a[N][N]; int suff[N][N],suff1[N][N]; signed main() { ios_base::sync_with_stdio(NULL); cin.tie(NULL); int T=1; // cin>>T; while(T--) { int n,m; cin>>n>>m; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>a[i][j]; } } for(int i=1;i<=n;i++) { for(int j=m;j>=1;j--) { suff[i][j]=suff[i][j+1]; if(a[i][j]=='O') suff[i][j]++; } } for(int j=1;j<=m;j++) { for(int i=n;i>=1;i--) { suff1[i][j]=suff1[i+1][j]; if(a[i][j]=='I') suff1[i][j]++; } } // for(int i=1;i<=n;i++) { // for(int j=1;j<=m;j++) { // cout<<suff[i][j]<<' '; // } // cout<<"\n"; // } // cout<<"\n"; // for(int i=1;i<=n;i++) { // for(int j=1;j<=m;j++) { // cout<<suff1[i][j]<<' '; // } // cout<<"\n"; // } int ans=0; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(a[i][j]!='J') continue; ans+=suff[i][j]*suff1[i][j]; } } cout<<ans<<"\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...