Submission #125803

#TimeUsernameProblemLanguageResultExecution timeMemory
125803nvmdavaBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
467 ms88696 KiB
#include <bits/stdc++.h>
using namespace std;

char c[3005][3005];
int a[3005][3005];
int b[3005][3005];

int main(){
   ios_base::sync_with_stdio(0);
   cin.tie(0);
   cout.tie(0);

   int n, m;
   cin>>n>>m;

   for(int i = 1; i <= n; i++){
      for(int j = 1; j <= m; j++){
         cin>>c[i][j];
         if(c[i][j] == 'O'){
            a[i][1]++;
            a[i][j]--;
         } else if(c[i][j] == 'I'){
            b[1][j]++;
            b[i][j]--;
         }
      }
   }
   for(int i = 1; i <= n; i++)
      for(int j = 1; j <= m; j++)
         a[i][j] += a[i][j - 1];
   for(int j = 1; j <= m; j++)
      for(int i = 1; i <= n; i++)
         b[i][j] += b[i - 1][j];
   long long res = 0;
   for(int i = 1; i <= n; i++){
      for(int j = 1; j <= m; j++){
         if(c[i][j] == 'J'){
            res += a[i][j] * b[i][j];
         }
      }
   }
   cout<<res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...