Submission #1258735

#TimeUsernameProblemLanguageResultExecution timeMemory
1258735sunitBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
165 ms150400 KiB
#include<bits/stdc++.h>
#define int long long
#define bl bool
#define db double 
#define fl float 
#define st string 
#define pb push_back
#define pf push_front
#define is insert
#define endl "\n"
#define pba pop_back
#define pfr pop_front
#define ub upper_bound
#define lb lower_bound 
#define fi first 
#define se second 
#define FOR(i, l, r, st) for(int i = l; i <= r; i += st)
#define FOS(i, l, r, sl) for(int i = l; i >= r; i -= sl)
#define mii map<int, int>
#define us unordered_set 
#define pii pair<int, int>
#define vt vector
using namespace std;

const int maxn = 1e6 + 5;
const int mod = 1e9 + 7;

void suncuti() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
}

int H, W;
char A[3005][3005];
int row[3005][3005], low[3005][3005]; 

main() {
    suncuti();

    cin >> H >> W;

    FOR(i, 1, H, 1) {
        FOR(j, 1, W, 1) {
            cin >> A[i][j];
        }
    }

    FOS(i, H, 1, 1) {
        FOS(j, W, 1, 1) {
            row[i][j] = row[i][j + 1] + (A[i][j] == 'O'); 
            low[i][j] = low[i + 1][j] + (A[i][j] == 'I'); 
        }
    }

    int cnt = 0;
    FOR(i, 1, H, 1) {
        FOR(j, 1, W, 1) {
            if(A[i][j] == 'J') {
                cnt += row[i][j + 1] * low[i + 1][j];
            }
        }
    }

    cout << cnt;
}

Compilation message (stderr)

joi2019_ho_t1.cpp:38:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   38 | main() {
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...