Submission #1347692

#TimeUsernameProblemLanguageResultExecution timeMemory
1347692jumpBitaro the Brave (JOI19_ho_t1)C++20
In queue
0 ms0 KiB
#include <bits/stdc++.h>
#define int long long
int h,w;
int op[5010][5010];
int ip[5010][5010];
signed main() {
	std::cin >> h >> w;
	std::vector<std::string> grid;
	grid.resize(h+2);
	for(int i=0;i<h;i++){
		std::cin >> grid[i];
	}
	int sum=0;
	for(int i=h-1;i>=0;i--){
		for(int j=w-1;j>=0;j--){
			op[i][j]=op[i][j+1]+(int)(grid[i][j]=='O');
			ip[i][j]=ip[i+1][j]+(int)(grid[i][j]=='I');
			if(grid[i][j]=='J')
			sum+=op[i][j]*ip[i][j];
		}
	}
	std::cout << sum;
}