Submission #391198

#TimeUsernameProblemLanguageResultExecution timeMemory
391198Aryan_RainaBitaro the Brave (JOI19_ho_t1)C++14
100 / 100
155 ms159780 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define ld long double #define ar array const int INF = 1e17; const int MOD = 998244353; int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin>>n>>m; string s[n]; for (auto &i : s) cin>>i; int sfO[n][m], sfI[n][m]; int ans = 0; for (int i = n-1; i >= 0; --i) { for (int j = m-1; j >= 0; --j) { sfO[i][j] = (j+1 < m) ? sfO[i][j+1] : 0; sfI[i][j] = (i+1 < n) ? sfI[i+1][j] : 0; if (s[i][j] == 'J') ans += sfO[i][j]*sfI[i][j]; if (s[i][j] == 'O') sfO[i][j] = 1 + ((j+1 < m) ? sfO[i][j+1] : 0); if (s[i][j] == 'I') sfI[i][j] = 1 + ((i+1 < n) ? sfI[i+1][j] : 0); } } cout<<ans<<"\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...