Submission #166119

#TimeUsernameProblemLanguageResultExecution timeMemory
166119SaboonBitaro the Brave (JOI19_ho_t1)C++14
100 / 100
235 ms49940 KiB
#include<bits/stdc++.h>
using namespace std;

typedef long long ll;

const int maxn = 3000 + 5;

string s[maxn];
int a[maxn][maxn];

int main(){
	ios_base::sync_with_stdio(false);
	int n, m;
	cin >> n >> m;
	for (int i = 0; i < n; i++){
		cin >> s[i];
		int cnt = 0;
		for (int j = m - 1; j >= 0; j--){
			cnt += (s[i][j] == 'O');
			a[i][j] = cnt;
		}
	}
	ll answer = 0;
	for (int j = 0; j < m; j++){
		int cnt = 0;
		for (int i = n - 1; i >= 0; i--){
			cnt += (s[i][j] == 'I');
			if (s[i][j] == 'J')
				answer += 1ll * a[i][j] * cnt;
		}
	}
	cout << answer << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...