Submission #1267228

#TimeUsernameProblemLanguageResultExecution timeMemory
1267228cmiucBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
302 ms79760 KiB
#include <iostream>

using namespace std;
char a[3005][3005];
int R[3005][3005], D[3005][3005];
int main(){
	int n, m;
	cin>>n>>m;

	for (int i=1;i<=n;i++){
		for (int j=1;j<=m;j++)
			cin>>a[i][j];
	}

	long long Ans = 0;
	for (int i=n;i>=1;i--){
		for (int j=m;j>=1;j--){
			R[i][j] = R[i][j+1] + (a[i][j] == 'O');
			D[i][j] = D[i+1][j] + (a[i][j] == 'I');
			Ans += R[i][j] * D[i][j] * (a[i][j] == 'J');
		}
	}
	cout<<Ans<<'\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...