Submission #97402

#TimeUsernameProblemLanguageResultExecution timeMemory
97402MatheusLealVBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
296 ms151636 KiB
#include <bits/stdc++.h>
#define N 3030
using namespace std;
typedef long long ll;

int n, m;

ll ans, I[N][N], O[N][N];

char mat[N][N];

int main()
{
	ios::sync_with_stdio(false); cin.tie(0);

	cin>>n>>m;

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

	for(int i = n; i >= 1; i--)
	{
		for(int j = m; j >= 1; j--)
		{
			I[i][j] = I[i + 1][j] + (mat[i][j] == 'I');

			O[i][j] = O[i][j + 1] + (mat[i][j] == 'O');

			if(mat[i][j] == 'J') ans += I[i][j] * O[i][j];
		}
	}

	cout<<ans<<"\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...