Submission #588073

#TimeUsernameProblemLanguageResultExecution timeMemory
588073MrDebooBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
178 ms17944 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define int long long
#define endl '\n'
using namespace std;
using namespace __gnu_pbds;
using ordered_set = tree<int,null_type,less_equal<int>,rb_tree_tag,tree_order_statistics_node_update>;
signed main(){
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int n,m;
	cin>>n>>m;
	char arr[n][m];
	for(int i=0;i<n;i++){
		for(int w=0;w<m;w++){
			cin>>arr[i][w];
		}
	}
	vector<int>a(n),b(m);
	int ans=0;
	for(int i=n-1;i>=0;i--){
		for(int w=m-1;w>=0;w--){
			if(arr[i][w]=='O')a[i]++;
			if(arr[i][w]=='I')b[w]++;
			if(arr[i][w]=='J')ans+=a[i]*b[w];
		}
	}
	cout<<ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...