Submission #140797

#TimeUsernameProblemLanguageResultExecution timeMemory
140797meatrowBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
485 ms88652 KiB
//#pragma GCC optimize("O3") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,tune=native") //#pragma GCC optimize ("unroll-loops") #include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; const int N = 3005; char a[N][N]; int row[N][N]; int col[N][N]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n, m; cin >> n >> m; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cin >> a[i][j]; } } for (int i = 1; i <= n; i++) { for (int j = m; j >= 1; j--) { row[i][j] = row[i][j + 1] + (a[i][j] == 'O'); } } for (int j = 1; j <= m; j++) { for (int i = n; i >= 1; i--) { col[i][j] = col[i + 1][j] + (a[i][j] == 'I'); } } ll ans = 0; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (a[i][j] == 'J') { ans += ll(row[i][j + 1]) * col[i + 1][j]; } } } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...