Submission #245735

# Submission time Handle Problem Language Result Execution time Memory
245735 2020-07-07T09:50:00 Z Atill83 Bitaro the Brave (JOI19_ho_t1) C++14
100 / 100
332 ms 89464 KB
#include <bits/stdc++.h>
#define ff first
#define ss second
#define endl '\n'
using namespace std;
const long long INF = (long long) 1e18;
const int mod = (int) 1e9+7;
const int MAXN = (int) 3e3+5;

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
ll h, w;

string s[MAXN];
int al[MAXN][MAXN];
int sg[MAXN][MAXN];

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

    #ifdef Local
        freopen("C:/Users/Admin/Desktop/Yazilim/C/IO/int.txt","r",stdin);
        freopen("C:/Users/Admin/Desktop/Yazilim/C/IO/out.txt","w",stdout);
    #endif

    cin>>h>>w;

    for(int i = 0; i < h; i++){
        cin>>s[i];
    }

    for(int i = h - 1; i >= 0; i--){
        for(int j = w - 1; j >= 0; j--){
            al[i][j] = al[i + 1][j] + (s[i][j] == 'I');
        }
    }
    ll ans = 0;
    for(int i = w - 1; i >= 0; i--){
        for(int j = h - 1; j >= 0; j--){
            sg[j][i] = sg[j][i + 1] + (s[j][i] == 'O');
            if(s[j][i] == 'J'){
                ans += (ll)sg[j][i]*al[j][i];
                //cout<<i<<" "<<j<<endl;
            }
        }
    }
    //cout<<sg[0][0]<<endl;
    cout<<ans<<endl;

    

    

    #ifdef Local
        cout<<endl<<fixed<<setprecision(2)<<1000.0 * clock() / CLOCKS_PER_SEC<< " milliseconds ";
    #endif
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 512 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 512 KB Output is correct
5 Correct 5 ms 1408 KB Output is correct
6 Correct 6 ms 1280 KB Output is correct
7 Correct 5 ms 1280 KB Output is correct
8 Correct 5 ms 1408 KB Output is correct
9 Correct 5 ms 1408 KB Output is correct
10 Correct 5 ms 1280 KB Output is correct
11 Correct 6 ms 1408 KB Output is correct
12 Correct 5 ms 1280 KB Output is correct
13 Correct 5 ms 1280 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 512 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 512 KB Output is correct
5 Correct 5 ms 1408 KB Output is correct
6 Correct 6 ms 1280 KB Output is correct
7 Correct 5 ms 1280 KB Output is correct
8 Correct 5 ms 1408 KB Output is correct
9 Correct 5 ms 1408 KB Output is correct
10 Correct 5 ms 1280 KB Output is correct
11 Correct 6 ms 1408 KB Output is correct
12 Correct 5 ms 1280 KB Output is correct
13 Correct 5 ms 1280 KB Output is correct
14 Correct 11 ms 6400 KB Output is correct
15 Correct 7 ms 3840 KB Output is correct
16 Correct 9 ms 3712 KB Output is correct
17 Correct 5 ms 512 KB Output is correct
18 Correct 11 ms 6912 KB Output is correct
19 Correct 10 ms 6784 KB Output is correct
20 Correct 10 ms 6784 KB Output is correct
21 Correct 11 ms 6912 KB Output is correct
22 Correct 10 ms 6784 KB Output is correct
23 Correct 11 ms 6784 KB Output is correct
24 Correct 11 ms 6912 KB Output is correct
25 Correct 9 ms 6784 KB Output is correct
26 Correct 10 ms 6784 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 512 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 512 KB Output is correct
5 Correct 5 ms 1408 KB Output is correct
6 Correct 6 ms 1280 KB Output is correct
7 Correct 5 ms 1280 KB Output is correct
8 Correct 5 ms 1408 KB Output is correct
9 Correct 5 ms 1408 KB Output is correct
10 Correct 5 ms 1280 KB Output is correct
11 Correct 6 ms 1408 KB Output is correct
12 Correct 5 ms 1280 KB Output is correct
13 Correct 5 ms 1280 KB Output is correct
14 Correct 11 ms 6400 KB Output is correct
15 Correct 7 ms 3840 KB Output is correct
16 Correct 9 ms 3712 KB Output is correct
17 Correct 5 ms 512 KB Output is correct
18 Correct 11 ms 6912 KB Output is correct
19 Correct 10 ms 6784 KB Output is correct
20 Correct 10 ms 6784 KB Output is correct
21 Correct 11 ms 6912 KB Output is correct
22 Correct 10 ms 6784 KB Output is correct
23 Correct 11 ms 6784 KB Output is correct
24 Correct 11 ms 6912 KB Output is correct
25 Correct 9 ms 6784 KB Output is correct
26 Correct 10 ms 6784 KB Output is correct
27 Correct 320 ms 88440 KB Output is correct
28 Correct 17 ms 19328 KB Output is correct
29 Correct 13 ms 7808 KB Output is correct
30 Correct 5 ms 768 KB Output is correct
31 Correct 231 ms 72020 KB Output is correct
32 Correct 270 ms 89388 KB Output is correct
33 Correct 300 ms 89336 KB Output is correct
34 Correct 258 ms 83448 KB Output is correct
35 Correct 290 ms 89336 KB Output is correct
36 Correct 280 ms 89208 KB Output is correct
37 Correct 332 ms 89464 KB Output is correct
38 Correct 197 ms 71928 KB Output is correct
39 Correct 192 ms 71804 KB Output is correct