Submission #717563

#TimeUsernameProblemLanguageResultExecution timeMemory
717563vjudge1Bitaro the Brave (JOI19_ho_t1)C++17
100 / 100
359 ms104460 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; vector<pii> posJ; vector<vector<int> > cntO(3010, vector<int> (3010, 0)), cntI(3010, vector<int> (3010, 0)); int n, m; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for(int i = 1; i <= n; i++) { for(int j = 1; j <= m; j++) { char c; cin >> c; if(c == 'J') posJ.push_back({i, j}); else if(c == 'O') cntO[i][j]++; else cntI[i][j]++; } } for(int i = 1; i <= n; i++) { for(int l = m - 1; l >= 1; l--) { cntO[i][l] += cntO[i][l + 1]; } } for(int j = 1; j <= m; j++) { for(int k = n - 1; k >= 1; k--) { cntI[k][j] += cntI[k + 1][j]; } } ll res = 0; for(auto [i, j] : posJ) { res += (cntO[i][j + 1] * cntI[i + 1][j]); } cout << res << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...