Submission #97384

#TimeUsernameProblemLanguageResultExecution timeMemory
97384BruteforcemanBitaro the Brave (JOI19_ho_t1)C++11
100 / 100
157 ms44664 KiB
#include "bits/stdc++.h"
using namespace std;
char s[3003][3003];
int cnt[3003][3003];

int main(int argc, char const *argv[])
{
	int n, m;
	scanf("%d %d", &n, &m);
	for(int i = 1; i <= n; i++) {
		scanf("%s", s[i] + 1);
	}
	for(int i = n; i >= 1; i--) {
		for(int j = 1; j <= m; j++) {
			cnt[i][j] = cnt[i + 1][j] + (s[i][j] == 'I');
		}
	}
	long long ans = 0;
	for(int i = 1; i <= n; i++) {
		int orb = 0;
		for(int j = m; j >= 1; j--) {
			orb += (s[i][j] == 'O');
			if(s[i][j] == 'J') {
				ans += cnt[i][j] * orb;
			}
		}
	}
	printf("%lld\n", ans);
	return 0;
}

Compilation message (stderr)

joi2019_ho_t1.cpp: In function 'int main(int, const char**)':
joi2019_ho_t1.cpp:9:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &n, &m);
  ~~~~~^~~~~~~~~~~~~~~~~
joi2019_ho_t1.cpp:11:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%s", s[i] + 1);
   ~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...