Submission #1167995

#TimeUsernameProblemLanguageResultExecution timeMemory
1167995MunkhErdeneBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
145 ms151416 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define ff first #define ss second #define _ << " " << #define yes cout << "Yes\n" #define no cout << "No\n" #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define fasterAndfaster ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); const ll mod = 1e9+7; const ll INF = 1e9; void solve() { ll i, j, cnt = 0, sum = 0, ans = 0; string ug, ug1, ug2; char useg = 'a'; ll h, w; cin >> h >> w; vector<string> g(h); for(auto &x: g) cin >> x; vector<vector<ll>> cntRowSuf(h, vector<ll>(w, 0)); vector<vector<ll>> cntColSuf(h, vector<ll>(w, 0)); for(i = h - 1; i >= 0; i--) { for(j = w - 1; j >= 0; j--) { cntRowSuf[i][j] = (g[i][j] == 'O') + (j + 1 < w ? cntRowSuf[i][j + 1] : 0); cntColSuf[i][j] = (g[i][j] == 'I') + (i + 1 < h ? cntColSuf[i + 1][j] : 0); } } for(i = 0; i < h; i++) { for(j = 0; j < w; j++) { if(g[i][j] == 'J') { cnt += cntRowSuf[i][j] * cntColSuf[i][j]; } } } cout << cnt << '\n'; } int main(){ fasterAndfaster; ll t = 1; //cin >> t; while(t--){ solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...