Submission #1146147

#TimeUsernameProblemLanguageResultExecution timeMemory
1146147AlgorithmWarriorBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
449 ms79820 KiB
#include <bits/stdc++.h> using namespace std; int const MAX=3005; char mat[MAX][MAX]; int drO[MAX][MAX]; int subI[MAX][MAX]; int n,m; void read(){ cin>>n>>m; int i,j; for(i=1;i<=n;++i) for(j=1;j<=m;++j) cin>>mat[i][j]; } void precalc(){ int i,j; for(i=1;i<=n;++i) for(j=m;j;--j) drO[i][j]=drO[i][j+1]+(mat[i][j+1]=='O'); for(j=1;j<=m;++j) for(i=n;i;--i) subI[i][j]=subI[i+1][j]+(mat[i+1][j]=='I'); } long long solve(){ long long ans=0; int i,j; for(i=1;i<=n;++i) for(j=1;j<=m;++j) if(mat[i][j]=='J') ans+=drO[i][j]*subI[i][j]; return ans; } void write(long long ans){ cout<<ans; } int main() { read(); precalc(); write(solve()); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...