| # | 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... | ||||
