Submission
Status:
PPPPPPPPPP
Score: 100
User: njoop
Problemset: ความหลากหลาย
Language: cpp
Time: 0.003 second
Submitted On: 2024-11-26 18:21:59
#include <bits/stdc++.h>
using namespace std;
int n, m, arr[12][60][60], dive[60][60], ans;
int main() {
cin >> n >> m;
for(int i=1; i<=n; i++) {
for(int j=1; j<=m; j++) {
int in;
cin >> in;
arr[in][i][j]++;
}
}
for(int k=0; k<10; k++) {
for(int i=1; i<=n; i++) {
for(int j=1; j<=m; j++) {
arr[k][i][j] += arr[k][i-1][j] + arr[k][i][j-1] - arr[k][i-1][j-1];
}
}
}
for(int i=5; i<=n; i++) {
for(int j=5; j<=m; j++) {
for(int k=0; k<=9; k++) {
if(arr[k][i][j] - arr[k][i][j-5] - arr[k][i-5][j] + arr[k][i-5][j-5]) {
dive[i][j]++;
}
}
if(dive[i][j] >= 5) {
ans++;
}
}
}
cout << ans;
return 0;
}