Submission #655065

#TimeUsernameProblemLanguageResultExecution timeMemory
655065benjaminkleynBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
135 ms17832 KiB
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("avx,avx2,fma")
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int H, W;
char grid[3000][3000];
int ingots[3000] = {0};

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    cin >> H >> W;
    for (int i = H - 1; i >= 0; i--)
        for (int j = W - 1; j >= 0; j--)
            cin >> grid[i][j];

    ll res = 0;
    for (int i = 1; i < H; i++)
    {
        int orbs = 0;
        for (int j = 1; j < W; j++)
        {
            orbs += (grid[i][j-1] == 'O');
            ingots[j] += (grid[i-1][j] == 'I');
            
            res += (grid[i][j] == 'J') * orbs * ingots[j];
        }
    }
    cout << res << '\n';

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...