Submission #1283024

#TimeUsernameProblemLanguageResultExecution timeMemory
1283024makskusBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
187 ms80752 KiB
#include <iostream>
#include <vector>
#include <string>
using namespace std;

int rze[3007][3007];
int kol[3007][3007];

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    
    int h, w;
    cin >> h >> w;
    vector<string> tab(h);
    for (int i = 0; i < h; i++) cin >> tab[i];

    for (int i = 0; i < h; i++) {
        rze[i][w] = 0;
        for (int j = w - 1; j >= 0; j--) {
            rze[i][j] = rze[i][j + 1] + (tab[i][j] == 'O' ? 1 : 0);
        }
    }

    for (int j = 0; j < w; j++) {
        kol[h][j] = 0;
        for (int i = h - 1; i >= 0; i--) {
            kol[i][j] = kol[i + 1][j] + (tab[i][j] == 'I' ? 1 : 0);
        }
    }

    long long wynik = 0;

    for(int i = 0; i < h; i++){
        for(int j = 0; j < w; j++){
            if(tab[i][j] == 'J'){
                wynik += (long long) rze[i][j + 1] * kol[i + 1][j];
            }
        }
    }

    cout << wynik << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...