Submission #311744

#TimeUsernameProblemLanguageResultExecution timeMemory
311744grtBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
132 ms88872 KiB
#include <bits/stdc++.h> using namespace std; using vi = vector<int>; using ll = long long; using pi = pair<int,int>; #define ST first #define ND second #define PB push_back const int nax = 3000 + 10; int n, m; int s1[nax][nax], s2[nax][nax]; string s[nax]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for(int i = 1; i <= n; ++i) { cin >> s[i]; s[i] = "#" + s[i]; } for(int i = 1; i <= n; ++i) { for(int j = 1; j <= m; ++j) { s1[i][j] = s1[i][j - 1] + (s[i][j] == 'O'); s2[i][j] = s2[i - 1][j] + (s[i][j] == 'I'); } } ll ans = 0; for(int i = 1; i <= n; ++i) { for(int j = 1; j <= m; ++j) { if(s[i][j] == 'J') { ans += ((ll)(s1[i][m] - s1[i][j]) * (s2[n][j] - s2[i][j])); } } } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...