Submission #872946

#TimeUsernameProblemLanguageResultExecution timeMemory
87294620163070Bitaro the Brave (JOI19_ho_t1)C++14
100 / 100
321 ms159400 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

const int N=3010;

int n,m;
char a[N][N];
int h[N][N],h2[N][N];
//h(i,j) i<k j<l 
//h2(k,j) i<k j<l 

signed main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i]+1;
	}
	for(int l=1;l<=m;l++)
	{
		for(int i=n;i>=1;i--)
		{
			h[i][l]+=h[i+1][l];
			if(a[i+1][l]=='I') h[i][l]++;
		}
	}
	for(int k=1;k<=n;k++)
	{
		for(int j=m;j>=1;j--)
		{
			h2[k][j]+=h2[k][j+1];
			if(a[k][j+1]=='O') h2[k][j]++;
		}
	}
	int res=0;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(a[i][j]=='J')
			{
				res+=h[i][j]*h2[i][j];

			}
		}
	}
	cout<<res;
	return 0;
}

Compilation message (stderr)

joi2019_ho_t1.cpp: In function 'int main()':
joi2019_ho_t1.cpp:19:12: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   19 |   cin>>a[i]+1;
      |        ~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...