Submission #894140

# Submission time Handle Problem Language Result Execution time Memory
894140 2023-12-28T01:53:01 Z ByeWorld Bitaro the Brave (JOI19_ho_t1) C++14
100 / 100
419 ms 161876 KB
#include <bits/stdc++.h>
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#define bupol __builtin_popcount
#define int long long
#define ll long long
#define ld long double
#define fi first
#define se second
#define pb push_back
#define lf (id<<1)
#define rg ((id<<1)|1)
#define md ((l+r)>>1)
using namespace std;
const int MAXN = 3e3+10;
const int LOG = 20;
const int MOD = 1e9+7;
const int SQRT = 520;
const int INF = 1e18;
typedef pair<int,int> pii;
typedef pair<int,pii> ipii;

int n, m;
string s[MAXN];
int row[MAXN][MAXN], col[MAXN][MAXN];

signed main(){
    //ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin >> n >> m;
    for(int i=0; i<n; i++) cin >> s[i];
    for(int j=m-1; j>=0; j--){
        for(int i=0; i<n; i++){
            row[i][j] = row[i][j+1];
            if(s[i][j]=='O') row[i][j]++;
        }
    }
    for(int i=n-1; i>=0; i--){
        for(int j=0; j<m; j++){
            col[i][j] = col[i+1][j];
            if(s[i][j]=='I') col[i][j]++;
        }
    }
    int ans = 0;
    for(int i=0; i<n; i++){
        for(int j=0; j<m; j++){
            if(s[i][j] == 'J'){
                ans += row[i][j] * col[i][j];
            }
        }
    }
    cout << ans << '\n';
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 540 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 604 KB Output is correct
5 Correct 2 ms 3164 KB Output is correct
6 Correct 1 ms 2908 KB Output is correct
7 Correct 1 ms 1316 KB Output is correct
8 Correct 1 ms 3164 KB Output is correct
9 Correct 1 ms 2908 KB Output is correct
10 Correct 1 ms 1368 KB Output is correct
11 Correct 1 ms 3168 KB Output is correct
12 Correct 1 ms 2908 KB Output is correct
13 Correct 1 ms 1380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 540 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 604 KB Output is correct
5 Correct 2 ms 3164 KB Output is correct
6 Correct 1 ms 2908 KB Output is correct
7 Correct 1 ms 1316 KB Output is correct
8 Correct 1 ms 3164 KB Output is correct
9 Correct 1 ms 2908 KB Output is correct
10 Correct 1 ms 1368 KB Output is correct
11 Correct 1 ms 3168 KB Output is correct
12 Correct 1 ms 2908 KB Output is correct
13 Correct 1 ms 1380 KB Output is correct
14 Correct 10 ms 15144 KB Output is correct
15 Correct 3 ms 10584 KB Output is correct
16 Correct 6 ms 7520 KB Output is correct
17 Correct 1 ms 608 KB Output is correct
18 Correct 12 ms 16216 KB Output is correct
19 Correct 11 ms 15676 KB Output is correct
20 Correct 11 ms 15712 KB Output is correct
21 Correct 9 ms 15964 KB Output is correct
22 Correct 11 ms 15448 KB Output is correct
23 Correct 8 ms 15704 KB Output is correct
24 Correct 9 ms 15964 KB Output is correct
25 Correct 9 ms 15664 KB Output is correct
26 Correct 12 ms 15720 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 540 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 604 KB Output is correct
5 Correct 2 ms 3164 KB Output is correct
6 Correct 1 ms 2908 KB Output is correct
7 Correct 1 ms 1316 KB Output is correct
8 Correct 1 ms 3164 KB Output is correct
9 Correct 1 ms 2908 KB Output is correct
10 Correct 1 ms 1368 KB Output is correct
11 Correct 1 ms 3168 KB Output is correct
12 Correct 1 ms 2908 KB Output is correct
13 Correct 1 ms 1380 KB Output is correct
14 Correct 10 ms 15144 KB Output is correct
15 Correct 3 ms 10584 KB Output is correct
16 Correct 6 ms 7520 KB Output is correct
17 Correct 1 ms 608 KB Output is correct
18 Correct 12 ms 16216 KB Output is correct
19 Correct 11 ms 15676 KB Output is correct
20 Correct 11 ms 15712 KB Output is correct
21 Correct 9 ms 15964 KB Output is correct
22 Correct 11 ms 15448 KB Output is correct
23 Correct 8 ms 15704 KB Output is correct
24 Correct 9 ms 15964 KB Output is correct
25 Correct 9 ms 15664 KB Output is correct
26 Correct 12 ms 15720 KB Output is correct
27 Correct 419 ms 161488 KB Output is correct
28 Correct 11 ms 63592 KB Output is correct
29 Correct 20 ms 14208 KB Output is correct
30 Correct 2 ms 812 KB Output is correct
31 Correct 283 ms 133844 KB Output is correct
32 Correct 381 ms 161876 KB Output is correct
33 Correct 399 ms 161280 KB Output is correct
34 Correct 332 ms 155208 KB Output is correct
35 Correct 392 ms 161832 KB Output is correct
36 Correct 393 ms 161220 KB Output is correct
37 Correct 384 ms 161852 KB Output is correct
38 Correct 268 ms 133200 KB Output is correct
39 Correct 275 ms 133332 KB Output is correct