| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1347691 | jump | Bitaro the Brave (JOI19_ho_t1) | C++20 | 0 ms | 0 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;
}