제출 #717295

#제출 시각아이디문제언어결과실행 시간메모리
717295TheSahibBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
121 ms10048 KiB
#include <bits/stdc++.h>

#define ll long long
#define oo 1e9
#define pii pair<int, int>

using namespace std;


int main()
{
    int n, m; cin >> n >> m;
    getchar();
    
    char grid[n][m];
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            grid[i][j] = getchar();
        }
        getchar();
    }
    int ingots[m];
    memset(ingots, 0, sizeof(ingots));
    ll ans = 0;
    for (int i = n - 1; i >= 0; i--)
    {
        int preSum[m + 1];
        memset(preSum, 0, sizeof(preSum));
        for (int j = 0; j < m; j++)
        {
            preSum[j + 1] = preSum[j] + (grid[i][j] == 'O');
        }
        for (int j = 0; j < m; j++)
        {
            if(grid[i][j] == 'J'){
                ans += 1ll * ingots[j] * (preSum[m] - preSum[j]);
            }
            if(grid[i][j] == 'I'){
                ingots[j]++;
            }
        }
    }
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...