# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
123573 | naderjemel | Bitaro the Brave (JOI19_ho_t1) | C++17 | 953 ms | 91148 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define pb push_back
#define mp make_pair
typedef long long ll;
typedef vector<int> vi;
typedef pair<int,int> ii;
typedef vector<pair<int,int> > vii;
int cumx[3005][3005];
int cumy[3005][3005];
int main(){
int n,m;
scanf("%d%d",&n,&m);
vector<string> v(n);
for(int i=0;i<n;i++){
cin>>v[i];
}
for(int i=0;i<n;i++){
for(int j=m-1;j>=0;j--){
cumy[i][j]=cumy[i][j+1];
if(v[i][j]=='O') cumy[i][j]++;
}
}
for(int j=0;j<m;j++){
for(int i=n-1;i>=0;i--){
cumx[i][j]=cumx[i+1][j];
if(v[i][j]=='I') cumx[i][j]++;
}
}
ll rs=0;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(v[i][j]=='J'){
rs+=cumx[i][j]*cumy[i][j];
}
}
}
printf("%lld\n", rs);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |